Python操作MySQL插入字符串报错求助

新手上路,请多包涵

Python操作MySQL插入字符串报错

python版本:3.7.4
mysql-connector:2.2.9

操作代码

import mysql.connector

db_var=mysql.connector.connect(
            host='localhost',
            user='root',
            passwd='sanshun_1234',
            database='soup_db',
            charset='utf8'
            )

mycursor=db_var.cursor()
str='test'
str_sql = "insert into soup_tb(soup_text) values (%s)"
mycursor.execute(str_sql%str)
db_var.commit()
mycursor.close()
db_var.close()

期待结果

执行完以上代码,数据库soup_db的表soup_tb的字段soup_text中应该增加一行数据<test>

最终结果

ProgrammingError: 1054 (42S22): Unknown column 'test' in 'field list'

但是如果将str的值更改为'12',可以正常插入。

之前插入字符没没问题的,不知道这个是怎么回事。

阅读 2.7k
1 个回答

字符串要加引号

str_sql = "insert into soup_tb(soup_text) values ('%s')"
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题