我的表有三列:uid、nick和balance。
我可以很好地插入新行,但是由于bank
自动递增,使得每一行都是唯一的,nick
的副本很容易出现。不过,我不希望这样,我只希望每个uid
有一行。
target = input.group(2)
cursor.execute ("INSERT INTO bank (nick, balance) VALUES('" + db.escape_string(target.lower()) + "', 5)")
db.commit()
bot.say('An account for ' + target + ' has been created.')
到目前为止,这是我的代码,但是我不确定如何创建一个
nick
查询,然后在插入新行之前检查表中是否存在SELECT
。 最佳答案
我会采取不同的方法。我将在nick
列上添加一个DB级别的唯一约束:
ALTER TABLE bank ADD UNIQUE (nick);
在Python代码中,然后放置一个
try
和except
来适当地处理与唯一约束冲突的异常。关于python - 如果匹配的MySQL行不存在,如何插入MySQL行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10143738/