2011-04-08 75 views
2

這必須是非常簡單的:很基本的MySQL查詢 - 替換值

在MySQL -

UPDATE exp_channel_data

哪裏entry_id是10169 10860

如果custom_field是價值18

之間

用17替換

有什麼想法?我真的很苦惱我擁有的小知識!

+1

UPDATE SET exp_channel_data = custom_field 17 WHERE entry_id BETWEEN 10169和10860與custom_field = 18 ??? – 2011-04-08 02:52:01

+0

@Yzmir拉米雷斯:讓它成爲一個答案,而不是一個評論,我會upvote它。 – Asaph 2011-04-08 02:53:47

+0

提升你的知識:獲得[這本書](http://www.informit.com/store/product.aspx?isbn=0672328631),這是一個很好的起點。另外,用例子檢查[本教程](http://www.roseindia.net/mysql/)。 – 2011-04-08 04:23:34

回答

2
UPDATE exp_channel_data 
SET custom_field = 17 
WHERE custom_field = 18 
AND entry_id BETWEEN 10169 AND 10860 

我其實不記得是否支持BETWEEN;如果不是:

UPDATE exp_channel_data 
SET custom_field = 17 
WHERE custom_field = 18 
AND entry_id >= 10169 
AND entry_id <= 10860 
+0

這很完美,謝謝! – 2011-04-08 03:24:00

+0

第一個是好的 – 2011-04-08 04:18:03

0
UPDATE exp_channel_data 
SET custom_field = 17 
WHERE custom_field = 18 AND entry_id > 10169 AND entry_id < 10860 

如果你想包括BETWEEN語句10169和10860使用。

BETWEEN運算符的功能爲'大於或等於'[NUMBER]且'小於或等於'[NUMBER]。

例如BETWEEN:

UPDATE exp_channel_data 
SET custom_field = 17 
WHERE custom_field = 18 AND entry_id BETWEEN 10169 AND 10860