首页 > 解决方案 > 如果列不存在则添加

问题描述

使用Sqlalchemy,我尝试将 a 添加column到 atable如果它不存在:

mytable = ticker +"data"
connection.execute("alter table "   + mytable    + " add column IF NOT EXISTS tokeep boolean;")

但我得到这个错误:

sqlalchemy.exc.ProgrammingError: (pymysql.err.ProgrammingError) (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS tokeep boolean' at line 1")
[SQL: alter table ABTdata add column IF NOT EXISTS tokeep boolean;]
(Background on this error at: https://sqlalche.me/e/14/f405)

标签: mysqlsqlsqlalchemy

解决方案


ALTER TABLE ADD COLUMN 没有_ IF NOT EXTSTS

手册

  | ADD [COLUMN] col_name column_definition
        [FIRST | AFTER col_name]
  | ADD [COLUMN] (col_name column_definition,...)

您可以做的是检查是否存在这样的列,例如MySQL,使用 SQL 检查表中是否存在列

try在 sqlalchemy 中使用


推荐阅读