首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL - Alter自动放入UUID

MySQL - Alter自动放入UUID
EN

Database Administration用户
提问于 2014-01-22 16:24:07
回答 4查看 60.5K关注 0票数 22

好吧,我知道我以前也这么做过。但我无法用我的生命去弄清楚。我创造了一张桌子。其中一个列被标记为"LogID",它也是主键。

如何修改它,以便该列为每个新条目生成一个UUID?

谢谢

EN

回答 4

Database Administration用户

发布于 2014-12-23 13:27:13

只需在insert之前创建一个要运行的触发器,以生成给定列的UUID。

代码语言:javascript
复制
CREATE TRIGGER before_insert_mytable
  BEFORE INSERT ON mytable
  FOR EACH ROW
  SET new.LogID = uuid();
票数 23
EN

Database Administration用户

发布于 2014-01-22 17:10:31

UUID()表达式在调用时生成一个UUID。

不幸的是(不管怎么说) MySQL不允许表达式作为字段的默认值。作为一项工作,您可以始终将字段设置为默认null,并具有一个触发器,该触发器在insert上使用UUID更新字段。

票数 3
EN

Database Administration用户

发布于 2014-01-22 17:11:47

事实上,我很确定你还是不能。我会认真考虑不使用UUID作为主键,而是使用更瘦、更好的数据类型,比如INT。您可以将您的UUID添加为一个单独的列,并通过TRIGGER更新它,如果这适合您的话。

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/57293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档