1
所以我有我的SQL查詢的問題,首先我運行此,以確保該條目是在數據庫:INSERT或忽略插入重複語句
"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或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')