【发布时间】:2025-11-23 00:35:01
【问题描述】:
我会从 table_b 获取任何 id 并将这个结果添加到 table_a 中的 INSERT
如果我试试这个,效果很好
INSERT INTO table_a(id)
SELECT table_b.id
FROM table_b
但我还必须插入一些其他数据,但我可以做到。这些是一些失败的测试!
测试 1
INSERT INTO table_a(a,id)
SELECT 2000 as a,table_b.id
FROM table_b
1054 - “字段列表”中的未知列“a”
测试 2
INSERT INTO table_a(a,id)
SELECT 2000,table_b.id
FROM table_b
1054 - “字段列表”中的未知列“a”
测试 3
INSERT INTO table_a (table_a.col1,table_a.id) VALUES (a,id)
SELECT 2000,table_b.id
FROM table_b
1064 - 您的 SQL 语法有错误;查看与您的 MariaDB 服务器版本相对应的手册,了解在 'a,id) 附近使用的正确语法
【问题讨论】:
-
table_a 是否真的包含
a列? -
表 a 有 4 列 a,b,c,d 其中 d=id in table_b.id
-
失去别名。
-
1054 - Unknown column 'a' in 'field list'似乎表明 table_a 没有名为a的列。 -
好吧,不明白你的建议!对于“SELECT”中的每一列,它对应于“INSERT”的“索引”,我必须在其中指出表 A 中的 A 列的“正确”列table_a 有真名 col_A INSERT INTO table_a(col_a,tb_b_id) SELECT 2000,table_b.id FROM table_b
标签: mysql insert sql-insert