zoukankan      html  css  js  c++  java
  • mysql生成varchar类型主键排序

    用uuid生成20位的主键

    SELECT LEFT(REPLACE(UUID(), '-', ''),20) FROM DUAL

    另一种方法:

    因为数据库中有字母

    需要排序的时候去除字母,重新取最大值,然后加1算作新的主键

    SELECT IFNULL(DEPT_ID,0)+1 FROM base_dept ORDER BY DEPT_ID+0 DESC LIMIT 0,1

    或者

    使用MySQL函数CAST/CONVERT:

    mysql为我们提供了两个类型转换函数:CAST和CONVERT,现成的东西我们怎能放过?

    CAST() 和CONVERT() 函数可用来获取一个类型的值,并产生另一个类型的值。
    这个类型 可以是以下值其中的 一个:
    BINARY[(N)]
    CHAR[(N)]
    DATE
    DATETIME
    DECIMAL
    SIGNED [INTEGER]
    TIME
    UNSIGNED [INTEGER]

    所以我们也可以用CAST解决问题:

    SELECT IFNULL(DEPT_ID,0)+1 FROM base_dept ORDER BY CAST(DEPT_ID as SIGNED) DESC LIMIT 0,1;

    也可以使用CONVERT来搞定此问题:

    SELECT IFNULL(DEPT_ID,0)+1 FROM base_dept ORDER BY CONVERT(DEPT_ID,SIGNED) DESC LIMIT 0,1;
  • 相关阅读:
    c# 定义委托和使用委托(事件的使用)
    c# 继承与多种状态
    ref 参数与out参数
    c# 类
    foreach 语句
    c# 制作弹窗
    c#常用类
    Python中的OS对路径的操作以及应用
    Git 推送文件到远程仓库
    Python基础 函数
  • 原文地址:https://www.cnblogs.com/zrui-xyu/p/5194792.html
Copyright © 2011-2022 走看看