咕噜咕噜502 2023-05-25 10:53 采纳率: 56.6%
浏览 35
已结题

SELECT UUID() a, UUID() b; 这样两个UUID生成的值不一样,怎么让b的值和a生成的id保持一致?

关于mysql生成id我想到了使用UUID(),id是生成了,但是我的b字段也需要这个uuid值,那我应该如何去获取?

img


这里可以看到,两个uuid是不一样的。
然后我想到定义变量的方式去取,例如这样

img


这样确实取到了,但是如果查询语句涉及到GROUP BY,那值就有错误了

img


那我的b字段该怎么去获取id值呢?

  • 写回答

2条回答 默认 最新

  • 创意程序员 2023-05-25 11:00
    关注

    使用with as语句,将生成的一个UUID放入临时表,然后查这个临时表,字段查2次,第2次给别名b:

    with t as (select uuid() a)
    select a, a b from t
    

    也可简化为

    select a, a b from (select uuid() a) t
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月2日
  • 已采纳回答 5月25日
  • 修改了问题 5月25日
  • 创建了问题 5月25日

悬赏问题

  • ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂
  • ¥15 数字信号处理考试111
  • ¥100 关于#audobe audition#的问题,如何解决?
  • ¥15 allegro17.2生成bom表是空白的
  • ¥15 请问一下怎么打通CAN通讯
  • ¥20 如何在 rocky9.4 部署 CDH6.3.2?
  • ¥35 navicat将excel中的数据导入mysql出错
  • ¥15 rt-thread线程切换的问题
  • ¥15 高通uboot 打印ubi init err 22
  • ¥15 R语言中lasso回归报错