
mysql> select now(); ±--------------------+ | now() | ±--------------------+ | 2025-06-09 16:13:38 | ±--------------------+ 1 row in set (0.00 sec)
mysql> delete from xxg where id=1; Query OK, 1 row affected (0.01 sec)
mysql> select now(); ±--------------------+ | now() | ±--------------------+ | 2025-06-09 16:14:18 | ±--------------------+ 1 row in set (0.01 sec)
mysql> update xxg set n=300 where id=2; Query OK, 1 row affected (0.02 sec) Rows matched: 1 Changed: 1 Warnings: 0
mysql> select now(); ±--------------------+ | now() | ±--------------------+ | 2025-06-09 16:14:43 | ±--------------------+ 1 row in set (0.00 sec)
mysql> select * from xxg limit 10; ±—±-------±-----+ | id | m | n | ±—±-------±-----+ | 2 | Window | 300 | | 3 | Window | 1600 | | 4 | Window | 1600 | | 5 | Window | 602 | | 6 | Window | 1600 | | 7 | Window | 602 | | 8 | Window | 1600 | | 9 | Window | 602 | | 10 | Window | 1600 | | 11 | Window | 1600 | ±—±-------±-----+ 10 rows in set (0.01 sec)
mysql> select * from xxg as of timestamp ‘2025-06-09 16:12:50’ limit 10; ±—±-------±-----+ | id | m | n | ±—±-------±-----+ | 1 | Window | 1600 | | 2 | Window | 1600 | | 3 | Window | 1600 | | 4 | Window | 1600 | | 5 | Window | 602 | | 6 | Window | 1600 | | 7 | Window | 602 | | 8 | Window | 1600 | | 9 | Window | 602 | | 10 | Window | 1600 | ±—±-------±-----+ 10 rows in set (0.01 sec)
mysql> select * from xxg as of timestamp ‘2025-06-09 16:14:30’ limit 10; ±—±-------±-----+ | id | m | n | ±—±-------±-----+ | 2 | Window | 1600 | | 3 | Window | 1600 | | 4 | Window | 1600 | | 5 | Window | 602 | | 6 | Window | 1600 | | 7 | Window | 602 | | 8 | Window | 1600 | | 9 | Window | 602 | | 10 | Window | 1600 | | 11 | Window | 1600 | ±—±-------±-----+ 10 rows in set (0.01 sec)
mysql> select * from xxg as of timestamp ‘2025-06-09 16:14:50’ limit 10; ±—±-------±-----+ | id | m | n | ±—±-------±-----+ | 2 | Window | 300 | | 3 | Window | 1600 | | 4 | Window | 1600 | | 5 | Window | 602 | | 6 | Window | 1600 | | 7 | Window | 602 | | 8 | Window | 1600 | | 9 | Window | 602 | | 10 | Window | 1600 | | 11 | Window | 1600 | ±—±-------±-----+ 10 rows in set (0.00 sec)
mysql> select * from xxg limit 10; ±—±-------±-----+ | id | m | n | ±—±-------±-----+ | 2 | Window | 300 | | 3 | Window | 1600 | | 4 | Window | 1600 | | 5 | Window | 602 | | 6 | Window | 1600 | | 7 | Window | 602 | | 8 | Window | 1600 | | 9 | Window | 602 | | 10 | Window | 1600 | | 11 | Window | 1600 | ±—±-------±-----+ 10 rows in set (0.01 sec)
mysql> create table t1 as select * from xxg as of timestamp ‘2025-06-09 16:12:50’ limit 10; ERROR 1105 (HY000): ‘CREATE TABLE … SELECT’ is not implemented yet
mysql> create table t1 as select * from xxg where 1=2; ERROR 1105 (HY000): ‘CREATE TABLE … SELECT’ is not implemented yet
mysql> create table t1 as select * from xxg;
ERROR 1105 (HY000): ‘CREATE TABLE … SELECT’ is not implemented yet
mysql>
mysql> show create table xxg\G
*************************** 1. row ***************************
Table: xxg
Create Table: CREATE TABLExxg(
idint NOT NULL AUTO_INCREMENT,
mvarchar(10) DEFAULT NULL,
nint DEFAULT NULL,
PRIMARY KEY (id) /*T![clustered_index] CLUSTERED */
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin AUTO_INCREMENT=12329325
1 row in set (0.00 sec)
mysql> create table t1 (
-> id int NOT NULL AUTO_INCREMENT,
-> m varchar(10) DEFAULT NULL,
-> n int DEFAULT NULL,
-> PRIMARY KEY (id));
Query OK, 0 rows affected (0.52 sec)
mysql> insert into t1 select * from xxg as of timestamp ‘2025-06-09 16:12:50’ limit 10; ERROR 8135 (HY000): can not set different time in the as of
mysql> import into t1 from select * from xxg as of timestamp ‘2025-06-09 16:12:50’ limit 10; ERROR 9006 (HY000): GC life time is shorter than transaction duration, transaction starts at 2025-06-09 16:12:50 +0800 CST, GC safe point is 2025-06-09 16:24:55.441 +0800 CST
mysql> show variables like ‘tidb_gc_life_time’; ±------------------±------+ | Variable_name | Value | ±------------------±------+ | tidb_gc_life_time | 10m0s | ±------------------±------+ 1 row in set (0.00 sec)
mysql> select now(); ±--------------------+ | now() | ±--------------------+ | 2025-06-09 16:50:44 | ±--------------------+ 1 row in set (0.00 sec)
mysql> delete from xxg where id<21; Query OK, 10 rows affected (0.01 sec)
mysql> select now(); ±--------------------+ | now() | ±--------------------+ | 2025-06-09 16:50:58 | ±--------------------+ 1 row in set (0.00 sec)
mysql> select * from xxg where id<21; Empty set (0.01 sec)
mysql> select * from xxg where id<22; ±—±-------±-----+ | id | m | n | ±—±-------±-----+ | 21 | Window | 1600 | ±—±-------±-----+ 1 row in set (0.00 sec)
mysql> import into t1 from select * from xxg as of timestamp ‘2025-06-09 16:45:50’ where id<21; Query OK, 19 rows affected (0.92 sec) Records: 19, ID: e8fe2d19-0061-41a3-a4d0-6eab82fd6bbb
mysql> select * from t1; ±—±-------±-----+ | id | m | n | ±—±-------±-----+ | 2 | Window | 300 | | 3 | Window | 1600 | | 4 | Window | 1600 | | 5 | Window | 602 | | 6 | Window | 1600 | | 7 | Window | 602 | | 8 | Window | 1600 | | 9 | Window | 602 | | 10 | Window | 1600 | | 11 | Window | 1600 | | 12 | Window | 1600 | | 13 | Window | 602 | | 14 | Window | 1600 | | 15 | Window | 1600 | | 16 | Window | 1600 | | 17 | Window | 602 | | 18 | Window | 1600 | | 19 | Window | 602 | | 20 | Window | 1600 | ±—±-------±-----+ 19 rows in set (0.01 sec)
mysql> drop table t1; Query OK, 0 rows affected (0.52 sec)
mysql> truncate table t2; Query OK, 0 rows affected (0.52 sec)
mysql> select now(); ±--------------------+ | now() | ±--------------------+ | 2025-06-09 16:53:56 | ±--------------------+ 1 row in set (0.00 sec)
mysql> flashback table t1; Query OK, 0 rows affected (0.56 sec)
mysql> flashback table t2; ERROR 1050 (42S01): Table ‘t2’ already exists mysql> flashback table t2 to t3; Query OK, 0 rows affected (0.54 sec)
mysql> select * from t1; ±—±-------±-----+ | id | m | n | ±—±-------±-----+ | 2 | Window | 300 | | 3 | Window | 1600 | | 4 | Window | 1600 | | 5 | Window | 602 | | 6 | Window | 1600 | | 7 | Window | 602 | | 8 | Window | 1600 | | 9 | Window | 602 | | 10 | Window | 1600 | | 11 | Window | 1600 | | 12 | Window | 1600 | | 13 | Window | 602 | | 14 | Window | 1600 | | 15 | Window | 1600 | | 16 | Window | 1600 | | 17 | Window | 602 | | 18 | Window | 1600 | | 19 | Window | 602 | | 20 | Window | 1600 | ±—±-------±-----+ 19 rows in set (0.00 sec)
mysql> select * from t2; Empty set (0.00 sec)
mysql> select * from t3; ±—±-------±-----+ | id | m | n | ±—±-------±-----+ | 2 | Window | 300 | | 3 | Window | 1600 | | 4 | Window | 1600 | | 5 | Window | 602 | | 6 | Window | 1600 | | 7 | Window | 602 | | 8 | Window | 1600 | | 9 | Window | 602 | | 10 | Window | 1600 | | 11 | Window | 1600 | | 12 | Window | 1600 | | 13 | Window | 602 | | 14 | Window | 1600 | | 15 | Window | 1600 | | 16 | Window | 1600 | | 17 | Window | 602 | | 18 | Window | 1600 | | 19 | Window | 602 | | 20 | Window | 1600 | ±—±-------±-----+ 19 rows in set (0.01 sec)