从一个表中选择并插入到另一个表中

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 中? @nrk NULL? [字符填充]【参考方案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

为啥我的查询不能从一个表中选择然后插入到另一个表中?

Oracle中的多行插入查询(从一张表中选择多行并插入到另一张表中[重复]

如何从表中选择记录并插入另一个表?

从一个表中删除记录并插入到另一个表中