gpt4 book ai didi

mysql - Insert Into Table B Select * From Table A,但在表 B 中有一个额外的列,这可能吗?

转载 作者:行者123 更新时间:2023-11-29 01:38:03 28 4
gpt4 key购买 nike

我有表 A 和表 B。表 A 有 A、B 和 C 列,表 B 有 A、B、C 和 D 列。

如果我执行以下操作:

INSERT INTO TableB
SELECT * FROM Table A
WHERE (....)

它是否允许我这样做,即使表 B 有额外的列?我试图在我的项目中这样做,但是,他们告诉我表 B 应该具有与表 A 相同的列,但多了一个。

谢谢。

最佳答案

如果两个表中的列不同,您必须在插入和选择语句中明确指定列。

所以在你的特定情况下应该是

INSERT INTO TableB (A, B, C)
SELECT A, B, C FROM Table A
WHERE (....)

否则,如果您没有在插入语句中指定列,那么在大多数 DBMS 中,应该从表定义中获取列,在您的情况下,它看起来像 INSERT INTO TableB (A, B, C , D) - 并假设有 4 列,但是 SELECT * FROM Table A 将只生成 3 列而不是 4 列。这就是您遇到错误的原因。

关于mysql - Insert Into Table B Select * From Table A,但在表 B 中有一个额外的列,这可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34269914/

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