首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在大型表的每一行上插入不同的UUID

问在大型表的每一行上插入不同的UUID
EN

Stack Overflow用户
提问于 2015-12-21 17:29:04
回答 1查看 8.6K关注 0票数 15

我有一个具有80K行的表,其中包含导入的数据。表的结构如下:

代码语言:javascript
复制
order_line_items  
  - id  
  - order_id  
  - product_id  
  - quantity  
  - price  
  - uuid  

在导入时,导入了order_id、product_id、quantity和price,但uuid字段保留为空。

是否有办法使用mysql的UUID()函数将uuid批量添加到表的每一行?我可以使用脚本循环遍历每一行并更新它,但是如果有MySQL解决方案,这将是最快的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-21 17:37:05

每次对uuid()的调用都返回不同的唯一值。

所以很简单

代码语言:javascript
复制
UPDATE order_line_items SET uuid = uuid();

应该为每个uuid字段分配一个唯一的值。

编辑2022年3月

请注意,使用此方法时,uuid中只会更改几个字符,这使得它们看起来看起来是相同的,但实际上它们都是不同的。

*2020年6月编辑*

使用@RickJames (参见注释),我们试图理解一些人在运行上面的Update命令后如何获得相同的UUID (它们应该是不同的)。

  1. MySQL/MariaDB问题是标记为mysql;请确保您正在运行MySQL或MariaDB,因为另一个DBMS可能不会在多行上呈现UUID()的MySQL行为
  2. 执行Update,如下图所示,UUID()是一个MySQL函数(因此是())
  3. 检查接收更新的字段,它必须足够大以容纳36字符

还请参阅DBA上的这个相关问题。

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

https://stackoverflow.com/questions/34401248

复制
相关文章

相似问题

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