mysql中存放uuid类型问题?

请教大佬,在实际开发实践中,mysql中uuid用什么类型存放比较好?

阅读 560
1 个回答

推荐使用BINARY(16) 来存储UUID。

mysql8.0写法

-- 创建表时使用BINARY(16)存储UUID
CREATE TABLE example_table (
    id BINARY(16) PRIMARY KEY,
    name VARCHAR(255)
);

-- 插入数据时转换UUID
INSERT INTO example_table (id, name) VALUES (UUID_TO_BIN(UUID()), 'example_name');

-- 查询数据时转换回UUID
SELECT BIN_TO_UUID(id) AS id, name FROM example_table;

mysql5.6写法

-- 创建表时使用 BINARY(16) 存储 UUID
CREATE TABLE example_table (
    id BINARY(16) PRIMARY KEY,
    name VARCHAR(255)
);

-- 插入数据时将 UUID 转换为二进制格式
INSERT INTO example_table (id, name)
VALUES (UNHEX(REPLACE(UUID(), '-', '')), 'example_name');

-- 查询数据时将二进制格式的 UUID 转换回可读格式
SELECT HEX(id) AS id, name
FROM example_table;
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏