The Dynamic columns feature was introduced in MariaDB 5.3.
COLUMN_ADD(dyncol_blob, column_nr, value [as type], [column_nr, value [as type]]...); COLUMN_ADD(dyncol_blob, column_name, value [as type], [column_name, value [as type]]...);
Adds or updates dynamic columns.
dyncol_blob
must be either a valid dynamic columns blob (for example, COLUMN_CREATE
returns such blob), or an empty string. column_name
specifies the name of the column to be added. If dyncol_blob
already has a column with this name, it will be overwritten. value
specifies the new value for the column. Passing a NULL value will cause the column to be deleted. as type
is optional. See #datatypes section for a discussion about types. The return value is a dynamic column blob after the modifications.
-- MariaDB 5.3+: UPDATE tbl SET dyncol_blob=COLUMN_ADD(dyncol_blob, 1 /*column id*/, "value") WHERE id=1; -- MariaDB 10.0.1+: UPDATE t1 SET dyncol_blob=COLUMN_ADD(dyncol_blob, "column_name", "value") WHERE id=1;
Note: COLUMN_ADD()
is a regular function (just like CONCAT()
), hence, in order to update the value in the table you have to use the UPDATE ... SET dynamic_col=COLUMN_ADD(dynamic_col,
....)
pattern.
© 2019 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/column_add/