【发布时间】:2014-12-11 15:21:58
【问题描述】:
我写了一个 Python 脚本来执行如下的一些查询:
cur.execute('CREATE DATABASE IF NOT EXISTS testdb;')
table = """CREATE TABLE IF NOT EXISTS links (
keyword VARCHAR(30) NOT NULL,
url VARCHAR(30) NOT NULL)"""
cur.execute(table)
从 MySQL shell 中我发现没有任何问题:
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| testdb |
+--------------------+
4 rows in set (0.02 sec)
mysql> SHOW TABLES;
+--------------------+
| Tables_in_testdb |
+--------------------+
| links |
+--------------------+
1 row in set (0.00 sec)
问题是一个带有两个参数的INSERT 查询:
cur3.execute("INSERT INTO links(keyword,url) VALUES(%s,%s);",(sys.argv[1],link))
检查 MySQL 有问题:
mysql> SELECT * from links;
Empty set (0.00 sec)
为什么执行INSERT查询后表为空?
【问题讨论】:
标签: python mysql mysql-python