[英]MySQL SP: ERROR 1241 (21000)
Hi im trying to insert using this sp with insert statment of: 嗨,我尝试使用此sp插入,插入语句为:
call insertuser (1, '077788899965', 'Digest 1.0', ':=', 'asjdfhiuoadshgiadufg');
SP CODE: SP代码:
DELIMITER$$
CREATE PROCEDURE insertuser (IN IdParam INT, IN UserNameParam varchar(64), IN AttributeParam varchar(64), IN OpParam char(2), IN ValueParam varchar(253))
BEGIN
// Delete user if they already exist
DELETE FROM radcheck
WHERE username = UserNameParam;
// Insert
INSERT INTO radcheck (id, username, atrribute, op, value)
SELECT (IdParam, UserNameParam, AttributeParam, OpParam, ValueParam);
END$$
But I am getting error of: 但我收到以下错误:
ERROR 1241 (21000): Operand should contain 1 column(s)
错误1241(21000):操作数应包含1列
Any idea how to resolve this? 任何想法如何解决这个问题?
DELIMITER $$
CREATE PROCEDURE insertuser (IN IdParam INT, IN UserNameParam varchar(64),
IN AttributeParam varchar(64), IN OpParam char(2),
IN ValueParam varchar(253))
BEGIN
DELETE FROM radcheck
WHERE username = UserNameParam;
INSERT INTO radcheck (id, username, atrribute, op, `value`)
SELECT IdParam, UserNameParam, AttributeParam, OpParam, ValueParam;
END
$$
There were 2 problems: 有两个问题:
DELIMITER
DELIMITER
后缺少空格 //
is not a comment start in MySQL. //
在MySQL中不是注释开始。 Use /* */
/* */
If you use a SQL IDE like MySQL Workbench such errors will be highlighted and are easier to fix. 如果您使用像MySQL Workbench这样的SQL IDE,则此类错误将突出显示并且更易于修复。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.