MySQL SP:错误1241(21000)

MySQL SP:错误1241(21000),mysql,stored-procedures,parameters,insert,mysql-error-1241,Mysql,Stored Procedures,Parameters,Insert,Mysql Error 1241,您好,我正在尝试使用此sp进行插入,插入状态为: call insertuser (1, '077788899965', 'Digest 1.0', ':=', 'asjdfhiuoadshgiadufg'); SP代码: DELIMITER$$ CREATE PROCEDURE insertuser (IN IdParam INT, IN UserNameParam varchar(64), IN AttributeParam varchar(64), IN OpParam char(2

您好,我正在尝试使用此sp进行插入,插入状态为:

call insertuser (1, '077788899965', 'Digest 1.0', ':=', 'asjdfhiuoadshgiadufg');
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$$
但我的错误是:

错误1241(21000):操作数应包含1列

你知道怎么解决这个问题吗

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
$$
有两个问题:

  • 分隔符后缺少空格
  • /
    不是MySQL中的注释开头。使用
    /**/
如果您使用像MySQL Workbench这样的SQL IDE,这些错误将突出显示,并且更容易修复