gpt4 book ai didi

mysql - 多次更新 - 可能的错误

转载 作者:行者123 更新时间:2023-11-28 23:44:57 26 4
gpt4 key购买 nike

我正在编写一个用于一次执行多个更新的函数。

我的灵感来自找到的示例代码 here :

INSERT INTO table (id,Col1,Col2) VALUES (1,1,1),(2,2,3),(3,9,3),(4,10,12)
ON DUPLICATE KEY UPDATE Col1=VALUES(Col1),Col2=VALUES(Col2);

但是我的函数的输出是这样的:

INSERT INTO table (id,Col1,Col2) VALUES (1,1,1),(2,2,3),(3,9,3),(4,10,12)
ON DUPLICATE KEY UPDATE id=VALUES(id), Col1=VALUES(Col1), Col2=VALUES(Col2);

所以我担心我的输出包含更新之间的主键字段。

我试过代码,它似乎运行良好(包括主键)这会产生我还没有遇到过的错误?我是否必须从查询的第二部分删除主键?

最佳答案

如果 id 是主键并且是表中唯一的唯一键,则您无需担心 id = VALUES(id)。在这种情况下,id 用于匹配,因此值不会改变。

如果表上有多个唯一键,那么这可能是个问题。如果您的数据是:

id    col1    col2
2 1 1

并且您在 (col1, col2) 上有一个唯一键,然后当您插入 (1, 1, 1) 时,值将更改为:

id    col1    col2
1 1 1

关于mysql - 多次更新 - 可能的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33760525/

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