在重复键上插入自动增量值?

时间:2016-09-11 09:36:31

标签: mysql insert

这似乎应该很简单,但我无法找到一种方法。假设我有一个包含5000行的表,每行有一个1-5000的ID(主键)。我盲目地插入一个带有现有ID的新值,它可能类似于2677.我想要发生的是,如果ID已经存在,它将使用auto_increment值,在这种情况下为5001.那或者最大存在值+ 1。

最重要的是,我不能使用PHP(或SQL以外的任何其他东西)来执行此操作,因为输出是一个需要直接导入而无错误的查询。

我在SO上看了两个类似的问题:

1 个答案:

答案 0 :(得分:0)

INSERT INTO table (column1,column2) VALUES (1,2) ON DUPLICATE KEY UPDATE id=VALUES(id)

很明显,这需要使用id的{​​{1}}列。

此外,如果以后您需要选择插入的AUTO_INCREMENT,就像它是新插入一样,您可以这样做:

id