Goo*_*bot 5 mysql innodb duplication unique-constraint
我有几列与UNIQUE INDEX. 在某些查询中,重复应该是可以接受的,其中应该将后缀添加到值中。例如,如果test title退出,我们将其更改为test title-2。
有没有办法让一个独特的价值DUPLICATE?
INSERT INTO table1
(title, abr, name)
VALUES
('title', 'abr', 'name')
Run Code Online (Sandbox Code Playgroud)
在这个典型示例中,所有三列都是UNIQUE. 当INSERT失败时,我不知道是哪个col导致错误改变了它对应的值。
如何进行查询value以value-identifier在重复错误时更改为?
我同意@BillThor的观点,你想做的可能会产生一些问题,但你需要的是ON DUPLICATE KEY UPDATE语句,所以你的查询将是这样的:
INSERT INTO table1
(`title`, `abr`, `name`)
VALUES
('title', 'abr', 'name')
ON DUPLICATE KEY UPDATE `title` = CONCAT(`title`, '-2');
Run Code Online (Sandbox Code Playgroud)
您可以将 CONCAT 更改为任何其他函数或您自己的存储过程。
| 归档时间: |
|
| 查看次数: |
4340 次 |
| 最近记录: |