从一个表中选择并插入到另一个表中
Posted
技术标签:
【中文标题】从一个表中选择并插入到另一个表中【英文标题】:select from one table and insert into another 【发布时间】:2010-03-04 07:36:37 【问题描述】:我有两张桌子。
Table_A(nid、vid、类型、标题、uid)
Table_B (id, questiontext)
我需要将 Table_B 中的记录插入 Table_A。我试过这个:
INSERT INTO Table_A (nid, vid, type, title, uid)
VALUES ('', '', multichoice', (SELECT questiontext from Table_B), '1')
但它抛出了一个错误。
正确的说法应该是什么?
UPD:我应该补充一点,nid是自增的,vid的值应该和nid一样。
【问题讨论】:
【参考方案1】:你试过了吗
INSERT INTO Table_A (nid, vid, type, title, uid)
SELECT '',
'',
'multichoice',
questiontext ,
'1'
from Table_B
看看INSERT ... SELECT Syntax
【讨论】:
nid 是自动增量的。如何在此语句中将新创建的 nid 也添加到 vid 中? @nrkNULL
? [字符填充]【参考方案2】:
您应该使用以下 SQL 查询:
INSERT INTO Target(A, B, C)
SELECT A, B, C
FROM Source
【讨论】:
【参考方案3】:根据mysqlreference for INSERT SELECT:
INSERT INTO table_name SELECT FROM other_table [ WHERE ... something ... ]
【讨论】:
【参考方案4】:insert into table2(columnname)select columnname from table1
【讨论】:
【参考方案5】:使用这个方法
INSERT INTO 目的地(列名)(从示例 3 中选择列);
这里的列应该是相同的类型。
【讨论】:
【参考方案6】:INSERT INTO Table_1 (column_1, column_2, column_3) SELECT column_1, column_2, column_3 FROM Table_2
你也可以通过如下方式设置一些插入条件:
INSERT INTO Table_1 (column_1, column_2, column_3) SELECT column_1, column_2, column_3 FROM Table_2 WHERE (Condition)
【讨论】:
【参考方案7】:// if dataset is unique then only we can append data to master table otherwise no data will be appended
// To append unique data you can use this logic
INSERT INTO ut_axis_karvy_master
(sr_no, funding_ac, funding_nm, micr_no,abc)
SELECT
t1.sr_no,
t1.funding_ac,
t1.funding_nm,
t1.micr_no,
t2.id
from ut_axis_karvy
left join
ut_axis_karvy_master as t2
on t1.micr_no = t2.micr_no
having t2.id is null;
【讨论】:
【参考方案8】:我认为这个问题的正确答案可能是 select into,从我从其他答案中看到的是,你们在从表 B 中获取值之前插入,因为你应该首先获取值:然后从表 B 中选择插入表 A。你应该在 select into 的行上搜索
【讨论】:
这里引用 MySQL 网站的一段话:SELECT ... INTO 形式的 SELECT 可以将查询结果写入文件或存储在变量中。这是它的link。当您想将记录复制到另一个表中时,它没有帮助。以上是关于从一个表中选择并插入到另一个表中的主要内容,如果未能解决你的问题,请参考以下文章
如何在通过变量搜索时从一个表中选择 user_ID 并插入到另一个表中? Python 我的 SQL