场景:经常遇到要使用自增的号,并且保证它的唯一性,这种情况下,通过数据库方式来保证自增号的唯一性和准确性是非常好的。
关键词:ON DUPLICATE KEY UPDATE
示例:其中,MaxNo为自增号,当插入遇到key值(这里的key为Prefix, SerialYear, SerialMonth三个字段唯一性,你可以使用其他任何唯一约束)重复时,将改为执行update操作,update的ID为LAST_INSERT_ID(ID),MaxNo 为 MaxNo+1。
INSERT INTO Test_Table
(Tenant, Prefix, SerialYear, SerialMonth, MaxNo, AddTime, UpdateTime)
VALUES
(。。。。。。 )
ON DUPLICATE KEY UPDATE
ID = LAST_INSERT_ID(ID),
MaxNo = MaxNo+1,
UpdateTime = NOW();
网友评论