MySQL在INSERT INTO上递增主键...在DUPLICATE KEY UPDATE

时间:2017-01-01 08:48:51

标签: mysql

我有一个包含3列的MySQL数据库:

  

id(主键,int,自动增量)

     

X1(唯一索引,varchar)

     

X2(int,默认值:1)

我像这样插入/更新表:

INSERT INTO table(X1) VALUES(?) ON DUPLICATE KEY UPDATE X2 = X2 +1

一切正常但主键(id)在内部递增,即使已经存在X1 =值的行并且它刚刚更新。

例如:在第一次插入时,它会创建一个id = 1的行。然后再次执行该语句,它只是因为ON DUPLICATE KEY UPDATE而更新了行。当我然后插入一个X1 = value_different的行时,它会插入一个id = 3的行。

我希望在这种情况下id为2,因为它是表中的第2行。

我做错了吗?

编辑:我使用的是InnoDB。

0 个答案:

没有答案