【发布时间】:2017-04-01 19:06:30
【问题描述】:
我想知道如何编写python语句来检查sql表是否存在。
如果表存在,则向表中插入数据,否则,我将创建表。
表名是“resulttable”,
db = MySQLdb.connect("localhost","root","123","test")
cursor = db.cursor()
sql="""CREATE TABLE resulttable ( id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, writerName CHAR(20) NOT NULL, matchWords LONGTEXT, matchMagazine LONGTEXT, matchNews LONGTEXT )"""
cursor.execute(sql)
db.close()
检查部分怎么做??
我添加了这个语句,但是我得到了一个错误:
sql="""CREATE TABLE IF NOT EXISTS resulttable ( id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, writerName CHAR(20) NOT NULL, matchWords LONGTEXT, matchMagazine LONGTEXT, matchNews LONGTEXT )"""
cursor.execute(sql)
db.close()
错误是: 警告:表 'resulttable' 已存在 cursor.execute(sql)
【问题讨论】:
-
为什么不加
IF NOT EXISTS? -
@LFJ,我遇到了一个错误。 _mysql_exceptions.ProgrammingError: (1113, 'A table must have at least 1 column')
-
你没有定义列,像
sql="""CREATE TABLE IF NOT EXISTS resulttable ( id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, ......"""一样使用它 -
我按照你的python语句添加了列定义,错误是:警告:表'resulttable'已经存在 cursor.execute(sql)
-
是的,如果表存在,它会向标准输出发出警告,没有其他操作。 .如果您真的想检查表格,请参阅我的答案中的链接。
标签: python mysql sql-server mysql-python