总结原因如下:
1.首先确认SQL语句是否正确
注:插入字符串时,values中的%s是需要加引号的,正确sql语句:
sql = "insert into test(id, name, sex) values(%d, '%s', '%s')" % (10, 'a', 'a')
2.数据表命名与mysql中关键字冲突
例:order在MySQL中是关键字
3.执行完execute那一行语句以后,要记得写commit语句哦
def insert_sql():
num = 0
for line in read_txt(bl):
num = num + 1
id = num
name = line
sex= ''
sql = "insert into test(id, name, sex) values(%d, '%s', '%s')" \
% (id, name, sex)
cursor.execute(sql)
cursor.connection.commit() # 执行commit操作,插入语句才能生效