在MySQL中为现有数据生成GUID吗?

在MySQL中为现有数据生成GUID吗?,第1张

在MySQL中为现有数据生成GUID吗?

我不确定这是否是最简单的方法,但是可以。这个想法是创建一个可以为您完成所有工作的触发器,然后执行查询以更新您的表,最后删除该触发器:

delimiter //create trigger beforeYourTableUpdate  BEFORE UPDATE on YourTableFOR EACH ROWBEGIN  SET new.guid_column := (SELECT UUID());END//

然后执行

UPDATE YourTable set guid_column = (SELECT UUID());

DROP TRIGGER beforeYourTableUpdate
;

UPDATE 另一个不使用触发器,但需要主键或唯一索引的解决方案:

UPDATE YourTable,INNER JOIN (SELECT unique_col, UUID() as new_id FROM YourTable) new_data ON (new_data.unique_col = YourTable.unique_col)SET guid_column = new_data.new_id

*再次 *更新 :似乎您的原始查询也应该工作(也许您不需要

WHERe columnID is not null
,因此不需要我所有的花哨代码。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5044370.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存