mysql的参数赋值语句必须是只能够选出一行,
SELECT username,nickname INTO Ausername,Anickname
FROM userbase
WHERE userid = userid
LIMIT 1 ;
这样的语句必须要加上limit 1才行。
另外,这种赋值语句还有个规矩就是参数名和字段名不能冲突,不然能够执行过去,但是却没有给参数赋值,这是个很隐性的错误,可以参考手册上的:
重要: SQL变量名不能和列名一样。如果SELECT ... INTO这样的SQL语句包含一个对列的参考,并包含一个与列相同名字的局部变量,MySQL当前把参考解释为一个变量的名字。
SELECT username,nickname INTO Ausername,Anickname
FROM userbase
WHERE userid = userid
LIMIT 1 ;
这样的语句必须要加上limit 1才行。
另外,这种赋值语句还有个规矩就是参数名和字段名不能冲突,不然能够执行过去,但是却没有给参数赋值,这是个很隐性的错误,可以参考手册上的:
重要: SQL变量名不能和列名一样。如果SELECT ... INTO这样的SQL语句包含一个对列的参考,并包含一个与列相同名字的局部变量,MySQL当前把参考解释为一个变量的名字。
本文详细介绍了MySQL中参数赋值语句的使用规则,包括必须使用LIMIT 1来确保仅选择一行数据,以及参数名与字段名不能冲突的重要注意事项。
5669

被折叠的 条评论
为什么被折叠?



