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.8k
1 个回答

字符串要加引号

str_sql = "insert into soup_tb(soup_text) values ('%s')"