1054, “Unknown column ‘xxx’ in ‘field list'”

最近在学习用Python编程,一本书,外加一些参考程序。 不过书籍的信息,还是有限的,发现了下面这个网站,还是挺好用的。

http://www.runoob.com/python3/python3-mysql.html

不过一味的模仿还是会出问题的。文中给出的源代码如下

sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \
       LAST_NAME, AGE, SEX, INCOME) \
       VALUES (%s, %s,  %s,  %s,  %s )" % \
       ('Mac', 'Mohan', 20, 'M', 2000)

而我仿照着,写出了如下的代码:

sql = "INSERT INTO EMPLOYEE(FIRSTNAME, LASTNAME, BIRTHDATE, SEX) VALUES (%s, %s, %s, %s)"
data = ('xxx'),'xx','1984-09-01','F')

尝试的向Mysql写入一些数据,但是发现,一直没有成功。尝试着读取表格信息,没有问题呀!这时候,我陷入了深深的沉思。然后Google了下。恩,问题,总会有解决的方案的。然后,我终于发现了问题,sql语句的语法似乎规定就是必须有引号将值包起来。也就是说源代码的引号要输入两次。后来我嫌弃太麻烦,读起来太累了。又继续搜索。后来找到了如下的解决方案。天下清净了

sql = "INSERT INTO EMPLOYEE(FIRSTNAME, LASTNAME, BIRTHDATE, SEX) VALUES (%s, %s, %s, %s)"
data = (repr('Ronghu'),repr('li'),repr('1984-09-01'),repr('F'))


print(sql%data)
try:
   # 执行sql语句
   cursor.execute(sql%data)
   # 执行sql语句
   db.commit()

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.