从一个表中选择并插入另一个表中
我有两张表。从一个表中选择并插入另一个表中
表-A(NID,VID,类型,标题,UID)
表-B(ID,questiontext)
我需要插入从表-B记录到表-A。我试过这个:
INSERT INTO Table_A (nid, vid, type, title, uid)
VALUES ('', '', multichoice', (SELECT questiontext from Table_B), '1')
但它抛出一个错误。
什么应该是正确的说法?
UPD:我应该补充说,nid是autoincrement,vid的值应该与nid相同。
你试过
INSERT INTO Table_A (nid, vid, type, title, uid)
SELECT '',
'',
'multichoice',
questiontext ,
'1'
from Table_B
你应该使用下面的SQL查询:
INSERT INTO Target(A, B, C)
SELECT A, B, C
FROM Source
这在MySQL上适用于我。 – aalaap 2016-06-24 10:34:53
谢谢,编辑了这篇文章。 – 2016-07-01 09:41:05
按照MySQL的reference for INSERT SELECT:
INSERT INTO table_name SELECT FROM other_table [ WHERE ... something ... ]
使用此方法
INSERT INTO目标(列名称)(从示例3选择列);
列在这里应该是相同的类型。
我认为这个问题的正确答案可能被选中,从我看到的其他答案是,你们在从表B获取值之前插入,因为你应该首先得到的值是:SELECT from然后将表B插入表A中。你应该在选择的行上搜索到
以下是MySQL网站的一段引文:SELECT ... INTO形式的SELECT可以将查询结果写入文件或存储在变量中。这是它的[链接](http://dev.mysql.com/doc/refman/5.0/en/select-into.html)。当你想将记录复制到另一个表中时,它没有任何帮助。 – Mehran 2012-10-29 15:04:00
insert into table2(columnname)select columnname from table1
nid是自动增量。我怎么能在这个声明中将新创建的nid添加到vid中? – nrk 2010-03-04 07:51:32
@nrk'NULL'? [字符填充] – Matt 2012-11-26 01:38:05