2011-04-08 42 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