gpt4 book ai didi

mysql - 我可以将另一个方案的查询结果插入到表中吗?

转载 作者:行者123 更新时间:2023-11-29 16:14:07 25 4
gpt4 key购买 nike

我有两个方案。当然,每个方案都有不同的名称。但是两个方案中的表和每个表的字段具有相同的名称。

我想从第一个方案的表中查询数据,以将结果插入到第二个方案表中。

问:这可能吗?

我的小测试给了我语法错误,但不清楚到底出了什么问题。

我的第二个方案的查询类似于这个简单的查询:

INSERT INTO table1 (column1, column2, column3, ...)
SELECT table1.column1
FROM scheme1.table1

第一行(插入)位于方案2中。第二行和第三行来自方案1。但这是行不通的。

问:如何从两个具有相同表名和表字段名的不同方案进行查询。

附注我知道这种设计选择并不理想。但我发现自己处于这种境地。它不是一个长期的生产数据库,而是用于研究数据。我需要从这两个方案进行查询。

编辑:

将te插入test2.t1.col1从 test1.t1 中选择 t1.col1;第一个查询是:

insert into test2.t1.col1 
select t1.col1 from test1.t1;

方案是:test1test2这些表是:test1.t1test2.t1这些列是: test1.t1.col1 test2.t1.col1

查询结果为:

Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.col1  select t1.col1 from test1.t1' at line 1

最佳答案

列数必须匹配:

INSERT INTO t2
(a,b,c) -- You intend to provide 3 columns per row
SELECT
x,y,z -- This list must have 3 columns, too.
FROM t1 ...

通常,t2 中的列数也应该相同。但这不是一个要求。省略一列(在 INSERTSELECT 中)会导致将值处理为 NULL

使用 AUTO_INCRMENT id,您可以:

INSERT INTO t2
(id,b,c)
SELECT
NULL,y,z -- automatically provide `id`
FROM t1 ...

或者这具有相同的效果:

INSERT INTO t2
(b,c)
SELECT
y,z
FROM t1 ...

关于mysql - 我可以将另一个方案的查询结果插入到表中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54989551/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com