2013-02-27 81 views
0
UPDATE starfsfolk 
SET starfsfolk.stada=2 
WHERE starfsfolk.deild LIKE '%Hugbúnaðardeild%'; 

UPDATE starfsfolk 
SET starfsfolk.stada=3 
WHERE starfsfolk.deild LIKE '%Markaðsdeild%' 

是我正在使用的代碼。返回零行的SQL更新

我試過它的各種不同版本(比如=「Markaðsdeild」或類似「Markaðsdeild」)

其中大部分的工作,如果我使用的選擇,但我需要使用更新並且其無法正常工作因爲某些原因。

這個WHERE命令適用於select,但是 如果我使用update命令,它將返回零行。我究竟做錯了什麼?

編輯: 只是爲了澄清,在更新命令之前和之後的所有情況下,stada都設置爲1。它並沒有從1變成2和3,就像我想要的那樣。

編輯2:繼承人a screenshot的數據庫,我也可以給你創建命令。編輯3:Stada是位,不是int,我發現了,不知道是什麼改變了tho。

解決方案:自己解決,因爲位只是1和0,錯誤是在表的創建中,所以我重新將它與stada作爲int,現在代碼正在工作。

+4

如果要更新的行具有相同的值,那麼MySQL將返回已更新0 也MySQL工作臺不默認允許使用WHERE LIKE statments更新。 – wormhit 2013-02-27 11:17:32

+1

提供一些示例數據。所以我們可以檢查你的查詢。 – 2013-02-27 11:22:22

+0

UPDATE返回實際更改的行數。 – Aris 2013-02-27 11:32:14

回答

0

如果stada的值未被查詢更改,則返回零行,因爲沒有更新。