Mysql 存储过程CONCAT()错误代码1054,未知列
提前谢谢你的帮助。你们太棒了 存储过程中的CONCAT()有问题。正在尝试使用变量创建插入 错误代码1054,字段列表中的未知列“Milk” Milk是要插入的值,而不是列 代码如下:Mysql 存储过程CONCAT()错误代码1054,未知列,mysql,insert,procedure,concat,Mysql,Insert,Procedure,Concat,提前谢谢你的帮助。你们太棒了 存储过程中的CONCAT()有问题。正在尝试使用变量创建插入 错误代码1054,字段列表中的未知列“Milk” Milk是要插入的值,而不是列 代码如下: SET @s = CONCAT('insert into ',USR,' (Product, ProdId, ListName) VALUES (',food_name,',',PRODID,',',LISTID,')'); 您需要引用食品名称的值: SET @s = CONCAT('insert into '
SET @s = CONCAT('insert into ',USR,' (Product, ProdId, ListName) VALUES (',food_name,',',PRODID,',',LISTID,')');
您需要引用
食品名称的值
:
SET @s = CONCAT('insert into ',USR,' (Product, ProdId, ListName) VALUES (\'',food_name,'\',',PRODID,',',LISTID,')');
实际上,MySQL将看到未加引号的值Milk
,并假定它是一个列名而不是字符串文本
如果列表中的其他列也是字符类型,则也需要对这些列执行相同的操作。例如,假设ListName
也是一种字符类型,您的过程将是:
SET @s = CONCAT(
'insert into ',
USR,
' (Product, ProdId, ListName) VALUES (\'',
food_name,
'\',',
PRODID,
',\'',
LISTID,
'\')'
);
好的,谢谢。PRODID和LISTID是INT类型。此外,还需要插入其他值。由于这方面的问题太长时间了,我尽可能地剪切了CONTAT()。到目前为止还不错……您的编辑工作正常。我将按照您建议的方式添加其他字段。非常感谢你!不客气,所有的逗号和引号很快就会让人困惑:-)