https://stackoverflow.com/questions/46134550/mysql-set-default-id-uuid
CREATE TABLE foo_uuid (
guid CHAR(32) DEFAULT (UUID())
);
problem: that's UUIDv1 which is time-based.
workaround: doesn't need to be an actual UUIDv4. Get random bytes, and convert that to a format that works with a URL.
CREATE TABLE foo_uuid (
guid CHAR(32) DEFAULT (HEX(RANDOM_BYTES(16)))
);
HEX turns 1 byte into 2 characters, and needs no URL-escaping.
TO_BASE64 turns 3 bytes into 4 characters, but needs URL-escaping.
SELECT HEX(RANDOM_BYTES(16)), LENGTH(HEX(RANDOM_BYTES(16))), TO_BASE64(RANDOM_BYTES(16)), LENGTH(TO_BASE64(RANDOM_BYTES(16)));