- Get link
- X
- Other Apps
Insert or Update, like MariaDB - but different One of the earlier posts in this series covered how to implement an upsert with MariaDB or MySQL. TiDB is described as being "highly compatible" with the MySQL protocol, but my simple table definition surfaced up one of the differences. The table definition that worked for MariaDB was: CREATE TABLE event (id UUID PRIMARY KEY, name varchar (255) NOT NULL, version bigint NOT NULL DEFAULT 0) TiDB does not support UUID as a built in data type, so we have to adapt the setup to involve a less direct representation. Initially I went with a varchar text representation, but then found a suggestion to apply a binary type instead, leaving a table creation statement as follows. CREATE TABLE event (id BINARY(16) PRIMARY KEY, name varchar (255) NOT NULL, version bigint NOT NULL DEFAULT 0) The corresponding statement for inserting data also involved some adjustment, to enable the value passed in to be converted to the correct type. INSERT I...