2009-02-16 54 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

在嘗試添加列之前,您可以先檢查表格模式嗎?但是,我強烈懷疑您需要在哪個位置添加列。有些事情不太正確。你能詳細解釋一下這個要求嗎?我相信還有其他更清晰的方法。