2016-11-23 4 views
0

現在、テーブルのループを使用して行を更新しようとしています。mysqlのループ更新文

フィールドには「id」と「visitor_id」という名前のフィールドがあります。 'id'列は自動インクリメントですが、 'visitor_id'は無効です。テーブルの中に既に存在するデータがあり、両方の列がこのように見えます。

'id'  'visitor_id' 
1   0 
2   0 
3   0 
4   0 
5   0 

だから私はこれらの両方の列に同じ値を設定します。

'id'  'visitor_id' 
1   1 
2   2 
3   3 
4   4 
5   5 

値をループして更新する方法を検索しますが、まだ運はありません。これは私が試したコードです。

私の状況を助ける方法は他にも受け入れます。ありがとう! :)

答えて

1

単純な更新クエリでも同じことができます。

このクエリをしようと、この問題を解決するために、(挿入後の)トリガーを使用する必要が
UPDATE test_db.visitor_visit SET visitor_id=id 
WHERE id BETWEEN 1 and 30 
+0

私は私がこれについて考えていないと信じることはできません。私は今から十分な睡眠を取る必要があります。ありがとう! – etzzz

+0

ようこそ。助けになってうれしい – e4c5

0

:その後、ちょうどあなたの最初の挿入時に

CREATE TRIGGER aa BEFORE INSERT ON ab FOR EACH ROW SET NEW.visitor_id = new.id 

「visitor_id = nullを」を設定し、同じ行の 'id'値を直接取るため、任意の値に設定してください。 その希望は便利です。