2016-04-15 12 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の中にそれらのZEROSの3000のように置き換えることです。

コマンドのようなものでなければなりません:値1.

でdofollowed if id {id1, id2, id3, id4, id4, id6 etc}列を置き換える

MySQLを知っている人は、より良い私を助けることができますか?

私はいくつかのファイルでコマンドを持っていましたが、何年か前に誰かによって行われましたが...明らかに私はファイルを見つけることができません。私はそれがすべてのそれらの数値IDを含んでいたので、それは長いコマンドであったことを知っています。私はあなたが正しく質問を理解している場合

+0

共有表構造といくつかのサンプルデータを動作します... –

答えて

0

これは動作するはずです:

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

あなたは、テーブルeditornofollowを更新するには、id列が配列で見つけることができるすべての行の1(ID1、ID2にnofollowの列を設定します、id3)

+0

おかげで、私、それが動作願って、これを試してみるでしょう。その結果と一緒に戻ってきます。 ;) – robertgombos

+0

確かに:)もしかすると、たぶんデータベースのコピーを作ってください!ライブデータを絶対に試してください。 – Jester

0

これらのIDを記述するのではなく、それらのIDをすべて記述する必要がある場合は2番目のIDです。 それらのいずれかが:)

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クエリは次の通りであった:1 = ID(ID1、ID2、ID3)IN SETのnofollowをeditornofollow UPDATE。 – robertgombos

関連する問題