gpt4 book ai didi

MySQL 使用递增变量更新字段

转载 作者:IT老高 更新时间:2023-10-28 23:55:52 24 4
gpt4 key购买 nike

我的一个数据库中有一个名为“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”字段分配一个递增的数字paid 字段等于 'paid' 的事件。

换句话说,我正在寻找这样的东西,

$i = 250
while( true ):
$i++
UPDATE textile_events SET 'seq_no' = $i
WHERE eid = 'headsup' AND paid = 'paid'
endwhile;

我如何将一个递增的数字分配给一个新引入的字段,只分配给 recods满足给定条件?

有哪些可用选项以及实现此目的的最有效方法是什么?

最佳答案

你在找这样的东西吗?

UPDATE textile_events e,
(SELECT @n := 249) m
SET e.seq_no = @n := @n + 1
WHERE e.eid = 'headsup' AND e.paid = 'paid'

SQLFiddle

关于MySQL 使用递增变量更新字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16644551/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com