2013年7月31日星期三

mysql "主键存在则更新,不存在则插入”逻辑的实现


今天写代码遇到这样一个需求,在网上查了一下,需要使用“on duplicate key"这样一个语句。
以python代码为例:

connection = MySQLdb.connect(user="root", passwd="mnld", host="localhost", db="test", charset="utf-8"

cursor = connection.cursor()

sql = "insert into mytable(id, name, class) values(%s, %s,%s) on duplicate key update class=%s"

record = (a,b,c, c ) #建立一个元祖,供下面的execute使用。

cursor.execute(sql, record)

connection.commit()


基本的流程就是这样。当然,更健壮的代码应该加入异常处理。

没有评论:

发表评论