gpt4 book ai didi

php - 如果一个固定列重复,mysql更新表列

转载 作者:行者123 更新时间:2023-11-29 12:08:52 24 4
gpt4 key购买 nike

我的表中有多个列。我有一个唯一的列,如果条目与该列重复,我希望更新这两列,否则插入新行。我在 php 中使用单独的函数,但为了简单起见,我将共享 mysql 代码。在这种情况下,col1 是固定的。如果 col1 不重复,则插入行。但这只是插入一个新行,即使 col1 是重复的。 col4 也可以为空。所有的问题都没有解决我的问题。

INSERT INTO table1
(col1, col2, col3, col4)
VALUES
('val1', 'val2', 'val3', 'val4')
ON DUPLICATE KEY UPDATE
col2=VALUES(col2)
col3=VALUES(col3)

最佳答案

它不起作用,因为您没有在 col1 列上定义 UNIQUE 键。每INSERT ... ON DUPLICATE KEY UPDATE Documentation如果插入导致 UNIQUE/PrimaryKey 列中出现重复键违规,则发生 UPDATE,而不是 INSERT

因此,在您的情况下,您必须通过在列上定义主键/唯一键约束来使 col1 成为键列;为了让它发挥作用。

关于php - 如果一个固定列重复,mysql更新表列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31036095/

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