使用ON DUPLICATE KEY避免增加自动增量值

时间:2017-05-08 00:37:30

标签: mysql

所以我想插入一个新行但是在检查之后它还不存在。

我的表非常简单;

CREATE TABLE IF NOT EXISTS table
(
    id INT NOT NULL AUTO_INCREMENT,
    pl VARCHAR(255) NOT NULL,
    num1 INT NOT NULL,
    num2 INT NOT NULL, 
    num3 INT NOT NULL,

    PRIMARY KEY (pl)
) ENGINE=InnoDB;

因此,为方便起见,我将值更改为简单的内容。

我试过INSERT INTO table(pl, num1, num2, num3) VALUES(val,0,0,0) ON DUPLICATE KEY UPDATE pl=pl; 但上面仍然进入自动增量字段的记录原因。

我也尝试过这样做但不是ON DUPLICATE,而是INSERT IGNORE INTO,但我得到的结果相同。

那么只有在主键不存在且它什么也不做的情况下才有可能插入行? (现在创建一个新的相同行,其中增量为+1

0 个答案:

没有答案