mysql 默认生成uuid
时间: 2025-04-18 20:38:55 浏览: 36
### 默认生成 UUID 方法
在 MySQL 中,默认生成 UUID 可以通过内置函数 `UUID()` 实现。此函数会生成一个带有连字符 `-` 的标准格式 UUID 字符串[^1]。
```sql
SELECT UUID();
```
为了去除生成的 UUID 中的连字符 `-`,可以使用 `REPLACE` 函数将其替换为空字符串[^3]:
```sql
SELECT REPLACE(UUID(), '-', '');
```
当希望在插入数据时自动为某列赋值 UUID,可以通过触发器实现这一功能。首先定义一个生成 UUID 的自定义函数[^2]:
```sql
DELIMITER $$
CREATE FUNCTION generate_uuid()
RETURNS CHAR(36)
BEGIN
RETURN UUID();
END$$
DELIMITER ;
```
接着,在目标表上创建一个前插触发器,该触发器会在每次插入新记录之前调用上述函数为指定字段设置唯一标识符:
```sql
DELIMITER $$
CREATE TRIGGER before_insert_table_name
BEFORE INSERT ON table_name FOR EACH ROW
BEGIN
SET NEW.uuid_column = generate_uuid();
END$$
DELIMITER ;
```
对于不需要连字符的情况,则可以直接在插入操作中应用 `REPLACE(UUID(), '-', '')` 来获取无连字符版本的 UUID 并存入数据库表格中的相应字段[^4]:
```sql
INSERT INTO t_inventive_principle (id, code_num, name)
VALUES (REPLACE(UUID(), "-", ""), 1, '分割原理');
```
阅读全文
相关推荐


















