在使用pymysql 做网站往数据库插入数据时发现如下错误:
pymysql.err.InternalError: (1054, "Unknown column '1a' in 'field list'")
结果发现用数字提交是没有问题的,其他如char型就有问题了。
看下我的SQL语句:
cursor.execute("UPDATE %s set %s=%s,ID=%s where ID=%s"%(mtype,attribute,value,ID,ID))
当我们用int型数据实践,sql在数据库执行的是
insert into user(user,pass) values(001,001);
然而当执行char型号数据时,SQL语句变成了:
insert into user(user,pass) values(abc,abc);
现在大家能看出问题了吧,原因是 char型要加''符号(单双引号都可以) 。
所以我给值都加上引号就可以了。
cursor.execute("UPDATE %s set %s='%s',ID='%s' where ID='%s'"%(mtype,attribute,value,ID,ID))