我有两个表,TableA和TableB
TableA有9个字段 TableB有7个字段
两个表中有两个相同的字段(id和name),是否有办法从TableA中选择这两个字段并将它们插入TableB?
我使用以下语句查看了INSERT INTO ... SELECT方法:
INSERT INTO TableB
SELECT id, name
FROM TableA
WHERE id = 1
但是我收到以下错误:
#1136 - Column count doesn't match value count at row 1
我认为这个错误不允许我只在表中插入2个字段?如果是这样,有没有办法绕过这个或另一种方法?
由于
答案 0 :(得分:6)
尝试:
INSERT INTO TableB(id, name)
SELECT id, name FROM TableA where id = 1;
必须假设TableB中的列名与TableA匹配,否则您需要输入正确的名称。
答案 1 :(得分:2)
您需要为TableB指定列名(并可能在WHERE子句中指定TableA.id):
INSERT INTO TableB (id, name)
SELECT (id, name)
FROM TableA
WHERE TableA.id = 1
答案 2 :(得分:1)
指定表b
中的列INSERT INTO TableB (id, name)
SELECT id, name
FROM TableA
WHERE id = 1