通过在 SQL 中将递增值设置在用户定义变量中来递增多个时间戳值

mysqlmysqli database更新于 2024/4/5 23:15:00

递增值可以设置在用户定义变量中,如下所示。此处,"yourValue"是递增值。之后,使用 MySQL UPDATE 更新列并递增时间戳值 −

set @anyVariableName :=yourValue;
update yourTableName set yourColumnName=yourColumnName+interval (@yourVariableName) second;

首先我们创建一个表 −

mysql> create table DemoTable
(
   DueDatetime timestamp
);
Query OK, 0 rows affected (0.73 sec)

使用 insert 命令在表中插入一些记录 −

mysql> insert into DemoTable values('2019-01-31 12 :30 :40');
Query OK, 1 row affected (0.25 sec)
mysql> insert into DemoTable values('2019-09-06 10 :00 :00');
Query OK, 1 row affected (0.73 sec)
mysql> insert into DemoTable values('2019-09-07 11 :10 :24');
Query OK, 1 row affected (0.25 sec)

使用 select 语句显示表中的所有记录 −

mysql> select *from DemoTable;

这将产生以下输出 −

+-----------------------+
| DueDatetime       |
+-----------------------+
| 2019-01-31 12 :30 :40 |
| 2019-09-06 10 :00 :00 |
| 2019-09-07 11 :10 :24 |
+-----------------------+
3 rows in set (0.00 sec)

以下是增加多个时间戳值 − 的查询

mysql> set @secondValue :=12;
Query OK, 0 rows affected (0.00 sec)
mysql> update DemoTable set DueDatetime=DueDatetime+interval (@secondValue) second;
Query OK, 3 rows affected (0.99 sec)
Rows matched : 3 Changed : 3 Warnings : 0

让我们再次检查表记录 −

mysql> select *from DemoTable;

这将产生以下输出。时间戳值现在已增加 −

+-----------------------+
| DueDatetime           |
+-----------------------+
| 2019-01-31 12 :30 :52 |
| 2019-09-06 10 :00 :12 |
| 2019-09-07 11 :10 :36 |
+-----------------------+
3 rows in set (0.00 sec)

相关文章