gpt4 book ai didi

mysql - 关于重复键问题

转载 作者:行者123 更新时间:2023-11-29 00:06:14 25 4
gpt4 key购买 nike

我有一个用于更新游戏时间的表,其中的列是唯一的以避免重复。

我的问题如下:如果它们相同,如何只更新特定列并避免插入新行?

这是 query .

我做了这段代码,它仍然进入一个新行,而不是只更新 Time 列:

INSERT INTO `leaderboard` (`Persona`, `Level`, `Track`, `Car`, `Mode`, `Time`, 
`Date`, `Timestamp`, `HMS`)
VALUES ('STIG', 80, 'SPA FRANCORCHAMPS',
'AUDI R8 LMS ULTRA', 'HD', '02:17.332',
'2014-12-06', '1417825487', '1:24:47')
ON DUPLICATE KEY UPDATE `Time` = '02:17.332';

最佳答案

您实际上是在创建复合 unique 键:

ALTER TABLE `leaderboard`
ADD UNIQUE KEY `Persona` (`Persona`,`Level`,`Track`,`Car`,`Mode`,`Time`,`Date`,`Timestamp`,`HMS`);

这意味着元组 (Persona, Level, Track, Car, Mode, Time, Date, Timestamp, HMS) 将是唯一的。但是,时间列是要更新的,很可能它们不是唯一的。

也许你想做的是:

ALTER TABLE `leaderboard`
ADD UNIQUE KEY `Persona` (`Persona`,`Level`,`Track`,`Mode`);

关于mysql - 关于重复键问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27331037/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com