データベースの 1 つに「textile_events」という名前のテーブルがあります。
mysql> describe textile_events;
+-------------+--------------+-----+---------+----------------+
| Field | Type | Key | Default | Extra |
+-------------+--------------+-----+---------+----------------+
| id | int(11) | PRI | NULL | auto_increment |
| token | varchar(20) | | NULL | |
| reg_time | datetime | | NULL | |
| eid | varchar(20) | | NULL | |
| fname | varchar(20) | | NULL | |
| lname | varchar(20) | | NULL | |
| paid | varchar(10) | | NULL | |
| seq_no | int(11) | | NULL | |
+-------------+--------------+-----+---------+----------------+
8 rows in set (0.00 sec)
mysql> select count(*) from textile_events;
+----------+
| count(*) |
+----------+
| 9325 |
+----------+
1 row in set (0.00 sec)
mysql> select count(*) from textile_events where eid = 'headsup' ;
+----------+
| count(*) |
+----------+
| 2553 |
+----------+
1 row in set (0.01 sec)
「seq_no」フィールドは、昨日上記の表に導入されました。
ここで、有料フィールドが「有料」に等しいすべての「headsup」イベントの「seq_no」フィールドに増分番号を割り当てる必要があります。
別の方法で、私はこのようなものを探しています、
$i = 250
while( true ):
$i++
UPDATE textile_events SET 'seq_no' = $i
WHERE eid = 'headsup' AND paid = 'paid'
endwhile;
特定の条件を満たすレコードにのみ、新しく導入されたフィールドに増分番号を割り当てるにはどうすればよいですか?
利用可能なオプションと、これを達成するための最も効率的な方法は何ですか?