【发布时间】:2022-11-20 05:28:52
【问题描述】:
表 1 有一列,表 2 有三列。名字都是独一无二的。
INSERT INTO table2 (SELECT * FROM table1 WHERE name = 'Brian')
#1136 - 列数与第 1 行的值数不匹配
将 NULL 或空字符串附加到 SELECT 查询的结果的最简单方法是什么?
我已经尝试过这个和许多其他变体:
INSERT INTO table2 (SELECT * FROM test WHERE name = 'Brian', '','')
INSERT INTO test2 ((SELECT * FROM test WHERE name = 'Brian') + '' , '')
【问题讨论】:
-
停止使用
SELECT *并列出列,在需要NULL的地方使用NULL(而不是''),如SELECT Col1, Col2, NULL, Col4 FROM ...。或者,在您的 INSERT INTO 中列出列,如INSERT INTO table2 (Col1, Col2, Col4, Col5) (SELECT Col1, Col2, Col4, Col5 FROM ...)
标签: mysql