2009-02-16 52 views
4

我有一个在特定条件下自动执行的MySQL脚本。该脚本执行的ALTER TABLE命令,因为需要在数据库中的列,但它可能会或可能不会有它...需要MySQL 4才能忽略ALTER TABLE错误

是否有可能使MySQL 4执行ALTER TABLE声明如果列不存在或忽略该单个命令的重复列错误并允许脚本执行继续?

回答

3

ALTER [IGNORE] TABLE只会忽略某些错误,如添加新的UNIQUE索引时出现重复键错误或SQL模式错误。

http://dev.mysql.com/doc/refman/4.1/en/alter-table.html

有关“脚本”你正在使用将有助于回答这个问题的更多细节。例如,在python中,错误会引发异常,然后可以被捕获并处理或忽略。

[编辑]从下面的评论,似乎你正在寻找mysql -f命令行选项。

+0

这是一个MySQL导入,通过从命令行运行`mysql Tom 2009-02-18 14:38:50

+3

从mysql --help你正在寻找-f选项: -f,--force继续,即使我们得到一个SQL错误。 – mluebke 2009-02-18 19:59:28

0

在尝试添加列之前,您可以先检查表格模式吗?但是,我强烈怀疑您需要在哪个位置添加列。有些事情不太正确。你能详细解释一下这个要求吗?我相信还有其他更清晰的方法。