我试图弄清楚为什么我的 mysql insert 语句似乎不适用于字符串替换。简单的例子。
#!/usr/bin/python
import MySQLdb
db = MySQLdb.connect(host="localhost", user="***", passwd="***", db="***")
cur = db.cursor()
a = '1'
b = '2'
c = '3'
cur.execute(""" INSERT INTO rented_users (username,login,password) VALUES ('1','2','3') """)
cur.execute(""" INSERT INTO rented_users (username,login,password) VALUES (%s,%s,%s);""", (a,b,c)
mysql> describe rented_users;
+----------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| username | varchar(100) | YES | | NULL | |
| login | varchar(100) | YES | | NULL | |
| password | varchar(100) | YES | | NULL | |
+----------+--------------+------+-----+---------+-------+
3 行一组(0.00 秒)
基本上我的第一个插入语句工作正常,但是当我尝试使用字符串替换的第二个插入语句时它失败了。它也没有给我一个非常描述性的错误。
File "insert_test", line 10
^
SyntaxError: invalid syntax
奇怪的是,这种完全相同的语法似乎可以在不同的脚本中正常工作。真的很迷茫。任何帮助将不胜感激。
干杯