2016-04-15 36 views
0

我想在MySql数据库中更新或替换(以哪种方式工作更好/更安全)表。如何将特定条目的MySql值从0更改为1

的表称为*editornofollow*

,它包含3 columns:

1. Some unique numerical IDs (I have around 10000 Ids from which only 
    like 3000 need to be updated) 
2. edchoice (no need to replace anythinghere) 
3. nofollow (here are values of 0 or 1 - if it's 0 means that the ID attributed to a specific link is dofollowed by search engines, if it's 1 - it's nofollowed). 

而且我要的是取代像零点到1的3000。

的命令应该是这样的:

更换if id {id1, id2, id3, id4, id4, id6 etc}列dofollowed与价值1.

人谁知道Mysql的更好能帮我吗?

我在某些文件中有命令,是由多年前完成的,但是......显然我无法找到该文件。我只知道这是一个很长的命令,因为它包含了所有这些数字ID。

+0

份额表的结构和一些样本数据... –

回答

0

如果我理解你正确地质疑这应该工作:

UPDATE editornofollow 
SET nofollow = 1 
WHERE id IN (id1,id2,id3) 

您更新表editornofollow,你nofollow的列设置为1,其中ID列可以在阵列中找到的所有行(ID1,ID2 ,id3)

+0

谢谢,我会尽力了这一点,希望它的作品。将与它的结果回来。 ;) – robertgombos

+0

肯定的事情:)也许做一个数据库的副本,以防万一!从来没有尝试过现场数据 – Jester

0

如果您需要选择这些标识符而不是写入它们,则第二个如果您要写入所有这些标识符。 任何人会工作:)

UPDATE editornofollow 
     SET nofollow = '0' 
    WHERE id IN (select ID from ...) // 
    or 
    UPDATE editornofollow 
     SET nofollow = '0' 
    WHERE id IN (id1,id2,id3 ....) // 
+0

嗨,大家好,非常感谢您的帮助。我会标记你的答案是有用的,但我不能使用“这个答案很有用”的功能,因为我还没有15个代表点。 正确的SQL查询是: UPDATE editornofollow SET nofollow = 1 WHERE id IN(id1,id2,id3); – robertgombos