好吧,我知道我以前也这么做过。但我无法用我的生命去弄清楚。我创造了一张桌子。其中一个列被标记为"LogID",它也是主键。
如何修改它,以便该列为每个新条目生成一个UUID?
谢谢
发布于 2014-12-23 13:27:13
只需在insert之前创建一个要运行的触发器,以生成给定列的UUID。
CREATE TRIGGER before_insert_mytable
BEFORE INSERT ON mytable
FOR EACH ROW
SET new.LogID = uuid();发布于 2014-01-22 17:10:31
UUID()表达式在调用时生成一个UUID。
不幸的是(不管怎么说) MySQL不允许表达式作为字段的默认值。作为一项工作,您可以始终将字段设置为默认null,并具有一个触发器,该触发器在insert上使用UUID更新字段。
发布于 2014-01-22 17:11:47
事实上,我很确定你还是不能。我会认真考虑不使用UUID作为主键,而是使用更瘦、更好的数据类型,比如INT。您可以将您的UUID添加为一个单独的列,并通过TRIGGER更新它,如果这适合您的话。
https://dba.stackexchange.com/questions/57293
复制相似问题