gpt4 book ai didi

java - INSERT OR IGNORE 插入重复语句

转载 作者:行者123 更新时间:2023-11-30 03:27:58 28 4
gpt4 key购买 nike

所以我的 SQL 查询遇到问题,首先我运行此命令以确保该条目位于数据库中:

 "INSERT OR IGNORE INTO `scores` (`uuid`) VALUES ('" + stat.player + "')"

接下来我运行:

"UPDATE scores SET uuid = '" + stat.player + "', level = '"
+ stat.level + "', xp = '" + stat.xp
+ "', xpToNextLevel = '" + stat.xpToNextLevel
+ "', attackPoints = '" + stat.attackPoints
+ "', defencePoints = '" + stat.defencePoints
+ "', kills = '" + stat.kills + "', deaths = '"
+ stat.deaths + "', monsterKills = '" + stat.monsterKills
+ "' WHERE uuid = '" + stat.player + "'"\

我的问题是运行“INSERT OR IGNORE”不会忽略是否存在重复值。每次运行它时,它都会插入一个具有相同 uuid 的新行,并更新具有相同 uuid 的所有行。

我猜我可能遗漏了一些东西,如果你能帮忙,我将非常感激。

我的CREATE TABLE语句是:

CREATE TABLE scores (
uuid varchar(128) NOT NULL,
level int(11) NOT NULL DEFAULT '1',
xp int(11) NOT NULL DEFAULT '0',
xpToNextLevel int(11) NOT NULL DEFAULT '500',
attackPoints int(11) NOT NULL DEFAULT '0',
defencePoints int(11) NOT NULL DEFAULT '0',
kills int(11) NOT NULL DEFAULT '0',
deaths int(11) NOT NULL DEFAULT '0',
monsterKills int(11) NOT NULL DEFAULT '0')

最佳答案

您的INSERT OR IGNORE SQL 语句看起来不错。您的 uuid 很可能未设置为 UNIQUEPRIMARY KEY

试试这个CREATE TABLE:

CREATE TABLE scores (
uuid varchar(128) PRIMARY KEY,
level int(11) NOT NULL DEFAULT '1',
xp int(11) NOT NULL DEFAULT '0',
xpToNextLevel int(11) NOT NULL DEFAULT '500',
attackPoints int(11) NOT NULL DEFAULT '0',
defencePoints int(11) NOT NULL DEFAULT '0',
kills int(11) NOT NULL DEFAULT '0',
deaths int(11) NOT NULL DEFAULT '0',
monsterKills int(11) NOT NULL DEFAULT '0')

关于java - INSERT OR IGNORE 插入重复语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29710070/

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