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

时间:2015-06-24 20:13:45

标签: php mysql sql-server

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

key

1 个答案:

答案 0 :(得分:1)

它不起作用,因为您没有在UNIQUE列上定义col1键。如果插入导致UNIQUE/PrimaryKey列中出现重复密钥违规,那么每INSERT ... ON DUPLICATE KEY UPDATE Documentation UPDATE代替INSERT

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