mysql - 如果列不存在则添加
问题描述
使用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)
解决方案
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 中使用
推荐阅读
- oracle - 使用 SQL 查询 Windchill 的数据库
- javascript - 在 ASP.NET Core 中将画布另存为图像
- angular - 加载文件量角器失败 - 失败:脚本超时:11 秒内未收到结果
- get - NiFi - InvokeHTTP 在从传入的 FlowFile 获取参数时不进行 GET 调用
- php - 使用插入到 php 文件中的 html 表单值进行 csv 导出
- codenameone - 横向代号一个 iOS 状态栏
- azure - 使用 StatusCode 429 维度筛选器的请求不会触发 CosmosDB 的 Azure 警报(监视器)
- pine-script - 为什么比较两个条形图不能正常工作?
- c# - HTTPClient - 并发请求的任务取消异常
- javascript - 状态正在改变我内部的突变