MySQL使用UUID函数自动生成uuid并插入指定列

要在MySQL中插入一行数据并使id列自动使用UUID函数生成UUID,你可以使用以下方法:

使用触发器:创建一个触发器,在每次插入新行时自动为id列生成UUID。

DELIMITER //
CREATE TRIGGER before_insert_your_table_name
BEFORE INSERT ON your_table_name
FOR EACH ROW 
BEGIN
    SET NEW.id = UUID();
END;
//
DELIMITER ;

注意:你需要将your_table_name替换为你的表名。 使用UUID函数:在插入数据时,直接使用UUID函数为id列赋值。

INSERT INTO your_table_name (id, column2, column3, ...)
VALUES (UUID(), value2, value3, ...);
  1. 使用AUTO_INCREMENT:虽然UUID()是一个很好的选择,但如果你需要的是一个唯一的数字ID,可以考虑使用AUTO_INCREMENT
  2. 注意事项:当使用触发器时,要确保触发器是在正确的表和列上创建的。另外,如果你的表已经有数据,并且你想要UUID作为新行的ID,那么你需要在插入数据之前为现有的行设置一个默认的UUID。
  3. UUID vs INT:UUIDs的好处是它们是全局唯一的,不会出现重复的情况。但它们比整数更长,查询可能稍慢一些,并且存储空间也更大。根据你的应用需求来选择合适的ID生成策略。