gpt4 book ai didi

mysql - 将一个表中的行插入到另一个表中,同时创建增量值?

转载 作者:行者123 更新时间:2023-11-29 05:42:06 25 4
gpt4 key购买 nike

编辑: 糟糕,显然在我的测试表中,我忘记将 id 设置为自动增量。设置后查询按预期工作。对不起大家!

我有两个表,SourceDest

Source 有字段 field1field2

Dest 有字段idfield1field2。 Id为主索引,自增。

我尝试了以下查询:

INSERT INTO dest (field1, field2)
SELECT field1, field2
FROM source
WHERE NOT EXISTS(SELECT *
FROM dest
WHERE (source.field2=dest.field2)
);

但是,每个复制行中的 id 都是 0。

如何在我的查询中说我想复制 field1 和 field2,并为 id 创建一个新的自动增量值?

最佳答案

您可以使用左连接重写 exists 语句:

INSERT INTO dest (field1, field2)
SELECT field1, field2
FROM source
LEFT JOIN dest
ON source.field2 = dest.field2
WHERE dest.field2 IS NULL;

id 也应该自动增加。如果不是,请检查它是否在表的定义中(show create table dest)。

关于mysql - 将一个表中的行插入到另一个表中,同时创建增量值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5949113/

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