無法弄清楚,如何將小數點字段更新爲空或空。將小數點字段的Mysql更新語句設置爲NULL或空白
曾嘗試:
UPDATE ads SET price=NULL WHERE price=0
而且
UPDATE ads SET price="" WHERE price=0
不工作。
感謝;)
(更新) 等一等。
無法弄清楚,如何將小數點字段更新爲空或空。將小數點字段的Mysql更新語句設置爲NULL或空白
曾嘗試:
UPDATE ads SET price=NULL WHERE price=0
而且
UPDATE ads SET price="" WHERE price=0
不工作。
感謝;)
(更新) 等一等。
UPDATE ads SET price=NULL WHERE price=0
這是將字段設置爲NULL的正確方法。但是,如果列不允許NULL,它將不起作用。
如果您有該表的CREATE語句可用,請檢查它是否對價格列表示NOT NULL。
如果你沒有,你可以在Oracle或MySQL運行'DESC廣告在CREATE語句,看看是否NULL是允許的。
UPDATE ads SET price=NULL WHERE price=0
上述聲明僅適用於您允許列值爲空值的情況。
和
UPDATE ads SET price="" WHERE price=0
上面的說法是行不通的,因爲decimal列設置爲空,相當於將其設置爲0值。
由於該列已包含0值,因此它可能會給出0行更新的消息。
我完全dsclementsen的答案達成一致,這就是爲什麼我upvoted他,但即使你的價格字段可以在你的表定義NULL,你可能有約束和觸發器其阻止此更新。
編輯:
UPDATE ads SET price=NULL WHERE price=0
沒有工作,因爲price
是不能爲空。
UPDATE ads SET price="" WHERE price=0
沒有工作,這是因爲:
price
沒有考證'
,如果你想設置一個文本值
可以u顯示創建表聲明? – 2010-09-13 12:12:24
請張貼您的餐桌定義(至少對於字段「價格」)。它是否允許'NULL'?任何行是否符合條件('price = 0')? – jensgram 2010-09-13 12:12:27
是行確實匹配。啊哈,已經設置了「ALLOW NULL」選項,現在語句正常工作。謝謝:)請添加您的答案,以便我可以關閉該主題。 – Somebody 2010-09-13 12:19:12