sql错误代码:1241。操作数应包含1列

时间:2014-03-07 20:01:58

标签: sql

因为我使用了sql,

已经有一段时间了

需要一点推动......

得到2个表,用户和投票

users {id,email....}
votes {id,userid,date,vote}

sql:

INSERT INTO votes_table (users_table.id , date,vote)
VALUES (    
            (SELECT users_table.id, users_table.email 
                FROM users_table
                WHERE users_table.email='lalala@lalall.com')
            ,datetime
            ,true
        )

错误

Error Code: 1241. Operand should contain 1 column(s)

2 个答案:

答案 0 :(得分:0)

您的内部查询正在选择2列。将其更改为仅返回id:

INSERT INTO votes_table (users_table.id , date,vote)
VALUES (    
            (SELECT users_table.id
                FROM users_table
                WHERE users_table.email='lalala@lalall.com')
            ,datetime
            ,true
        )

答案 1 :(得分:0)

试试这个,你在子查询中返回更多列数,你可以简单地查询到这个

INSERT INTO votes_table (users_table.id , date,vote)
SELECT users_table.id,datetime, true
                FROM users_table
                WHERE users_table.email='lalala@lalall.com'