gpt4 book ai didi

mysql - 错误代码 : 1054. 存储过程中 'abcdef' 中的未知列 'field list'

转载 作者:行者123 更新时间:2023-11-29 18:29:38 25 4
gpt4 key购买 nike

我编写了以下存储过程。它工作得很好并且给出了正确的结果。但添加一些属性后,它显示错误。如果我将最后检索到的属性的名称更改为四个字母的单词,那么它会正确运行。如果我将其作为存储过程运行,则会显示错误: “错误代码:1054。‘字段列表’中存在未知列‘字段’”

如果作为独立语句运行则显示错误:“0 行受到影响,1 条警告:1260 第 69 行被 GROUP_CONCAT() 剪切”“错误代码:1054。‘字段列表’中存在未知列‘字段’”

    CREATE DEFINER=`root`@`localhost` PROCEDURE `getCases`()
BEGIN
SET @sql = CONCAT('SELECT ', (SELECT GROUP_CONCAT(COLUMN_NAME) FROM
information_schema.columns WHERE table_schema = 'xyz_data_base'
AND table_name = 'table1'
AND column_name NOT IN ('col_one', 'col_last')),
', table2.Name from xyz_data_base.table1, xyz_data_base.table2
where table1.col_last = table2.Id');

PREPARE stmt1 FROM @sql;

EXECUTE stmt1;
END

最佳答案

在运行group_concat之前,您必须更改系统参数group_concat_max_len以防止结果被剪切。

    CREATE DEFINER=`root`@`localhost` PROCEDURE `getCases`()
BEGIN

SET @@session.group_concat_max_len = 10000;

SET @sql = CONCAT('SELECT ', (SELECT GROUP_CONCAT(COLUMN_NAME) FROM
information_schema.columns WHERE table_schema = 'xyz_data_base'
AND table_name = 'table1'
AND column_name NOT IN ('col_one', 'col_last')),
', table2.Name from xyz_data_base.table1, xyz_data_base.table2
where table1.col_last = table2.Id');

PREPARE stmt1 FROM @sql;

EXECUTE stmt1;
END

关于mysql - 错误代码 : 1054. 存储过程中 'abcdef' 中的未知列 'field list',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45814876/

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