Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python sql insert语句在数据库中插入带引号的值_Python_Mysql_Sql_Pymysql - Fatal编程技术网

python sql insert语句在数据库中插入带引号的值

python sql insert语句在数据库中插入带引号的值,python,mysql,sql,pymysql,Python,Mysql,Sql,Pymysql,我试图使用以下语句将数据插入python中的Mysql cursor.execute('INSERT INTO batch_details (batch_id,plant_id,product_code) VALUES ("%s","%s","%s")', (id, plantcode, pcode)) 此处id=“75”,plantcode=“2”,pcode=“FG” 但我在数据库中的值在mysql数据库中以单引号插入,即'75','2','FG' 我不知道为什么要用单引号插入这些值。sq

我试图使用以下语句将数据插入python中的Mysql

cursor.execute('INSERT INTO batch_details (batch_id,plant_id,product_code) VALUES ("%s","%s","%s")', (id, plantcode, pcode))
此处id=“75”,plantcode=“2”,pcode=“FG”

但我在数据库中的值在mysql数据库中以单引号插入,即'75','2','FG'


我不知道为什么要用单引号插入这些值。sql查询的语法似乎正确。

%s表示您提供的值将被解释为字符串。对于要成为整数的,请尝试使用%d。如果希望SQL将值解释为数字而不是字符串,可能还需要去掉值列表中%d部分周围的引号字符


另外,当不同的程序或库打印字符串时,有些程序或库将使用单引号字符打印字符串,有些程序或库将使用双引号字符打印字符串。无论哪种方式,它仍然是数据库中的一个字符串,只是以一种不同的方式打印到屏幕上。

您是否确保先将其转换为准备好的语句?请参见文档示例-

否则,如果您只想执行直接字符串操作,则应该执行以下操作

query = 'INSERT INTO batch_details (batch_id,plant_id,product_code) VALUES ("%s","%s","%s")'%(id, plantcode, pcode)
cursor.execute(query)

你试过了吗。。。值(%s,%s,%s).?@Matthias是的,我尝试过,现在得到了正确的输出。
query = 'INSERT INTO batch_details (batch_id,plant_id,product_code) VALUES ("%s","%s","%s")'%(id, plantcode, pcode)
cursor.execute(query)