mysql 无法插入(中文)数据报错

2017-02-14  本文已影响111人  mugtmag

问题1:插入数据报错:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '如何做\n\t\t\t' at line 1
意思时提示我的sql语句有语法问题。代码如下:

sql = cursor.execute("INSERT INTO data1.corpus(label,question,answer) VALUES(%s, %s,%s)").format(label, question, answers))

后来网上查了一下,适合5.7的mysql插入语句如下(python):

sql = "INSERT INTO data1.corpus(label,question,answer) VALUES(%s,%s,%s)"
cursor.execute(sql,(label, question, answers))

问题二:插入中文时显示乱码:
按照上篇文章依然无法正常显示中文。选择重新建表,“collation”显示的是 table default,如图:

Screenshot from 2017-02-14 22-35-47.png

就可以正常显示了。
**问题三:Error Code: 1406. Data too long for column - MySQL **
我的数据库中的answer字段存储的内容较多,一开始设置的是varchar(600),后来设置为了LONGTEXT类型,问题解决。

上一篇下一篇

猜你喜欢

热点阅读