2012-07-23 134 views
6

我正在使用MySQL社區服務器5.1。有沒有辦法只用一個查詢就可以將所有行重新設置爲默認列值?將行恢復爲默認列值mysql

我剛添加了很多行。我有大多數指定的列的默認值,但由於某些原因,所有的列值被設置爲= 0。我想知道是否有查詢將所有列值設置爲其默認值,我也需要where子句的功能。

這樣的事情,例如:

update table set values = values(default) where id > 300; 

謝謝!

+0

爲什麼你會想要做到這一點是超出我的。只有默認數據的記錄有什麼意義? – eggyal 2012-07-23 14:40:15

+1

這是爲我擔心;-) – 2012-07-23 14:41:25

回答

16

有一個在INSERT和UPDATE查詢,默認提供的關鍵字,你可以代替任何真正的列值的使用:

update my_table set my_column = DEFAULT where id > 300; 

如記錄in the MySQL Manual

請注意,還有一個DEFAULT() function,如前面的答案中所述;您可以使用它選擇任何列的默認值以供使用。

+0

應該已經知道,即使我已經去過那個文檔頁面數十萬次: - /謝謝! – 2012-07-23 14:50:30

6

你應該嘗試:

UPDATE table_name SET col = DEFAULT(col) WHERE id > 300;