如何仅在不存在时创建表?
我正在尝试
conn = MySQLdb.connect (host = "localhost",
user = "username",
passwd = "password",
db = "my_db")
cursor = conn.cursor ()
q = """IF NOT EXISTS CREATE TABLE %s (
course VARCHAR(15),
student VARCHAR(15),
teacher VARCHAR(15),
timeslot VARCHAR(15))""" % (d,)
cursor.execute(q)
但是我遇到了这个错误:_mysql_exceptions.ProgrammingError: (1064, "你的SQL语法有错误;请检查与你的MySQL服务器版本相对应的手册,以获取正确的语法,错误出现在'IF NOT EXISTS CREATE TABLE ACCOUNTG (\\n\\t course VARCHAR(15),\\n\\t s' 的第1行")
我不太确定我在做什么时出了问题,我只是想在表不存在的情况下创建一个表。任何建议都非常感谢,谢谢!
1 个回答
16
语法错误:IF NOT EXISTS CREATE TABLE
在MySQL中是无效的SQL语句。
你应该使用:
CREATE TABLE IF NOT EXISTS [tablename]
具体可以参考MySQL的文档。