gpt4 book ai didi

mysql - 本地 mysql mac osx 上的 'concatenado' 列的 SQL 错误 1406 数据太长,它在 Windows 上完美运行

转载 作者:行者123 更新时间:2023-11-30 23:04:09 24 4
gpt4 key购买 nike

我有一个函数,它允许我连接每个 50 到 90 个单词的表格大小的每个小标题 (titulo),直到我的小标题 (subtitulo) 最初为空,它有 varchar(5000),我发现它的返回函数没有达到大约 4000 字,这个函数在 Windows 8 中运行良好,没有任何问题,我改为在 MacBook pro osx 10.8.2 中工作,我已经安装了最新版本的 Mysql 以及我最近更改了安装 MAMP,但是colum 仍然有同样的问题,我改变了文本、长文本、BLOB、longBlob 的类型,我的 IDE 不停地向我显示消息“正在运行……”,为什么我的功能在 Windows 中运行良好,而不是在 Mac 中运行,我从 4 天前就遇到了这个问题。

我的 SELECT @@max_allowed_pa​​cket 也向我显示了结果 1048576,这是问题所在吗?如果是这样,如何在 Mac osx 中添加更多大小。

 DELIMITER $$

CREATE DEFINER=root@localhost FUNCTION fn_avanceFisico_ConcatenadoTitulos(pIdTitulo int) RETURNS varchar(5000) CHARSET utf8 BEGIN
DECLARE concatenado varchar(5000);

set concatenado='';

WHILE (ifnull(pIdTitulo,0) <> 0) do
SELECT concat_ws('</br> Subtitulo',concatenado,titulo),subtitulo into concatenado,pIdTitulo
FROM ttitulo
WHERE idTitulo=pIdTitulo;
END while;

RETURN concatenado;

END;

干杯

最佳答案

错误说的很清楚。

您必须在数据库中使此列 concatenado 更长。

如果它的 varchar(5000) 然后增加它直到 varchar(6000)///这只是例子

  • 考虑使用 TEXT 类型来存储长字符串。

试试看:

 DELIMITER $$

CREATE DEFINER=root@localhost FUNCTION fn_avanceFisico_ConcatenadoTitulos(pIdTitulo int) RETURNS varchar(5000) CHARSET utf8 BEGIN
DECLARE concatenado varchar(6000);
.....
.....

关于mysql - 本地 mysql mac osx 上的 'concatenado' 列的 SQL 错误 1406 数据太长,它在 Windows 上完美运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22581372/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com