我有一个看起来像这样的表(使用 MariaDB):
CREATE TABLE table1 (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY
,c_id varchar(40) NULL
,email varchar(150) NULL
,dynamic_columns BLOB NULL
,created_at TIMESTAMP NOT NULL DEFAULT 0
,updated_at TIMESTAMP NULL DEFAULT current_timestamp ON UPDATE current_timestamp
);
我正在将一些遗留表中的数据加载到此表中,并且我正在使用 MariaDB 的 dynamic_columns
根据遗留表最多存储 3 个动态列。
( https://mariadb.com/kb/en/mariadb/documentation/nosql/dynamic-columns/ )
我想使用 LOAD DATA INFILE
快速/批量将遗留数据插入新表,但我不知道如何使用动态列执行此操作。
Google 搜索一无所获。
最佳答案
动态列以内部二进制格式存储。要在 MariaDB 服务器之外创建或更改动态列,您应该使用 MariaDB Connector/C 的动态列 API:
https://mariadb.com/kb/en/mariadb/dynamic-columns-api/
您还将在Connector/C 的测试套件中找到一些示例:
https://github.com/MariaDB/mariadb-connector-c/blob/master/unittest/libmariadb/dyncol.c
关于mysql - MariaDB:使用 dynamic_columns 加载数据 INFILE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27411006/