这是我的mysql查询。有谁知道错误是什么以及如何修复它?
感谢。
SQL query: Documentation
INSERT IGNORE
INTO thread_user (thread_id,user_id,last_read_date)
SELECT 24,1,NOW()
UNION
SELECT 24, b.a, NOW()
FROM (SELECT (2,3,4) AS a) b
MySQL said: Documentation
#1241 - Operand should contain 1 column(s)
答案 0 :(得分:2)
我猜你想在第二个子查询中有三行。表达式(2, 3, 4)
导致错误。
INSERT IGNORE INTO thread_user(thread_id,user_id,last_read_date)
SELECT 24, 1, NOW()
UNION ALL
SELECT 24, b.a, NOW()
FROM (SELECT 2 as a UNION ALL
SELECT 3 UNION ALL
SELECT 4
) b;
这只是猜测你的意图。请注意,外部UNION
可以是UNION ALL
- 您应该始终使用后者,除非您想要承担删除重复项的开销。