MariaDB - 将历史数据插入系统版本(临时)表中

zek*_*eke 5 mariadb temporal-tables mariadb-10.4

我在 MariaDB 中有一些表,我一直在使用单独的“更改日志”表来跟踪更改,该表在每次更新记录时都会更新。然而,我最近了解了 MariaDB 中的时态数据表,我想切换到该方法,因为它是一种更优雅的跟踪更改的方法。但是,我想知道是否有办法将我的“更改日志”表转移到新的系统版本表。

所以我希望我可以使用表的指定值以某种方式插入新行,并指定 row_end 和 row_start 列,并且不会触发表创建另一个历史行...这可能吗?我尝试只执行“插入(id,row_start,row_end等)值(x,y,z)”,但这会导致未知列“row_start”错误。

Ran*_*ung 2

老问题,但从 10.11 MariaDB 开始,允许使用命令行选项或设置直接插入历史数据。

https://mariadb.com/kb/en/system-versioned-tables/#system_versioning_insert_history

system_versioning_insert_history
Description: Allows direct inserts into ROW_START and ROW_END columns if secure_timestamp allows changing timestamp.
Commandline: --system-versioning-insert-history[={0|1}]
Scope: Global, Session
Dynamic: Yes
Type: Boolean
Default Value: OFF
Introduced: MariaDB 10.11.0
Run Code Online (Sandbox Code Playgroud)