我的一个数据库中有一个名为'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)
Run Code Online (Sandbox Code Playgroud)
'seq_no'字段昨天被引入上表.
现在,我需要为所有'抬头'事件为'seq_no'字段分配一个递增数字,其中付费字段等于'付费'.
换句话说,我正在寻找这样的东西,
$i = 250
while( true ):
$i++
UPDATE textile_events SET 'seq_no' = $i
WHERE eid = 'headsup' AND paid = 'paid'
endwhile;
Run Code Online (Sandbox Code Playgroud)
如何为新引入的字段分配递增数字,仅用于满足给定条件的recods?
有哪些可用选项以及实现此目的的最有效方法是什么?
pet*_*erm 47
你在找这样的东西吗?
UPDATE textile_events e,
(SELECT @n := 249) m
SET e.seq_no = @n := @n + 1
WHERE e.eid = 'headsup' AND e.paid = 'paid'
Run Code Online (Sandbox Code Playgroud)
Dev*_*per 10
简单的查询就是,只需将变量设置为您想要的某个数字.然后通过从该数字递增1来更新所需的列.
Ex :: Query更新列为空的所有行.它将通过递增1来更新每个行ID
SET @a = 50000835 ;
UPDATE `civicrm_contact` SET external_identifier = @a:=@a+1
WHERE external_identifier IS NULL;
Run Code Online (Sandbox Code Playgroud)
希望这对某人有所帮助.:)
| 归档时间: |
|
| 查看次数: |
18209 次 |
| 最近记录: |