2016-09-05 41 views
-2

我們使用laravel是添加一列(的service_id)的所有表4的模式運行腳本那天開始,在表名與IDS_開始所有表上的MySQL的更新欄默認這裏表名與IDS_

當我們運行腳本,我們犯了一個錯誤,沒有爲我們添加的列設置默認值。

我相信通過laravel 4模式或bash腳本可以讓我們回滾並添加默認值,但是我無法搞清楚。

有人可以請幫忙。

謝謝。

+0

你有什麼嘗試?這聽起來像你有一個腳本,將得到你更新的所有表,所以你只需要'ALTER TABLE ... ALTER COLUMN ... SET DEFAULT ...'? –

+0

我們運行了一個腳本,它爲我們提供了數據庫中所有表的列表,然後對它們執行了一個foreach循環來查找以ids_開頭的表,我查看了laravel 4模式文檔以查看有關更新表,但它只是真的告訴你在創建點設置默認值。 –

回答

0

試試這個:

ALTER TABLE `your_table` CHANGE COLUMN `service_id` `service_id` VARCHAR(10) NOT NULL DEFAULT 'your_default_value'; 

其中VARCHAR(10)是一個例子,但正如你之前指定必須保持不變。

+0

嗨,奧梅爾,謝謝你,我遇到的問題是,有23臺服務器,平均有30-50表需要在每臺服務器上更新,所以希望表名可以由腳本設置爲保存一個非常手動的過程。 –

+0

然後你在命令行中查找表名和mysql(-e)的bash循環。 –