如何仅在不存在时创建表?

1 投票
1 回答
5481 浏览
提问于 2025-04-16 06:17

我正在尝试

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的文档

撰写回答