我有一个MySQL脚本,在某些条件下会自动执行。该脚本执行ALTER TABLE
命令,因为数据库中需要该列,但它可能有也可能没有...
如果列不存在,是否可以使MySQL 4执行ALTER TABLE
语句或忽略此单个命令的重复列错误并允许脚本执行继续?
答案 0 :(得分:3)
ALTER [IGNORE] TABLE将仅忽略某些错误,例如添加新UNIQUE索引时出现重复键错误或SQL模式错误。
http://dev.mysql.com/doc/refman/4.1/en/alter-table.html
有关您正在使用的“脚本”的更多详细信息将有助于回答这个问题。例如,在python中,错误会引发异常,然后可以捕获并处理或忽略该异常。
[编辑]从下面的评论中,看起来你正在寻找mysql -f命令行选项。
答案 1 :(得分:0)
在尝试添加列之前,您可以先检查表架构吗?但是,我强烈怀疑设计在哪里需要动态添加列。有些事情不太对劲。你能详细解释这个要求吗?我相信还有其他更清洁的方法。