这两天在思考怎么生成数据库随机名称,思前想后觉得还是利用自增的逻辑主键是最方便快捷的,于是便尝试着获取一种自增的mysql函数

自增mysql函数

1 BEGIN2 DECLARE id INT DEFAULT 0;3 SELECT cuid + 1 INTO id from uc_gen_number where table_key = tableKey forupdate;4 IF id = 0THEN5 SET id = 1;6 INSERT INTO uc_gen_number (table_key, cuid) VALUES (tableKey, id);7 ELSE UPDATE uc_gen_number SET cuid = id where table_key =tableKey;8 END IF;9 RETURN id;10 END

查资料的时候看到了这个函数,觉得真的是刷新了我的三观,之前一直认为select出的结果集是不能够赋值给其他的,因为考虑毕竟是一个集合,但是今天发现却可以,只要保证结果集只有一条。

自己尝试着验证了这个原理:

update User set FSerialID=(select FSerialId from (select FSerialId from User ORDER BY FSerialId desc limit 1) a) where FSerialId=(select FSerialId from (select FSerialId from User ORDER BY FSerialId asc limit 1) b)

没想到真的可以。如果把select FSerialId from (select FSerialId from UserInfo ORDER BY FSerialId desc limit 1) a 这句直接改成select FSerialId from UserInfo ORDER BY FSerialId desc limit 1。会报错You can't specify target table for update in FROM clause.错误的意思是说,不能先select出同一表中的某些值,再update这个表(在同一语句中)。

mysql自增函数_mysql实现自增函数相关推荐

  1. mysql 汉编码 的选_peewee连接mysql汉语言数据编码_mysql

    peewee连接mysql中文数据编码 系统是win7 x64 python 2.7.6的site.py里面编码设定为 utf-8 py文件首行指定 #coding:utf-8 mysql 5.5.3 ...

  2. windows 新建mysql权限设置_Windows下设置MySQL安全权限_mysql

    注意:本文的内容涉及到修改NTFS磁盘权限和设置安全策略,请务必在确认您了解操作可能的后果之后再动手进行任何的修改. 文中提及的权限都是在原有权限上附加的权限. [修改步骤] 1.创建用户 创建一个名 ...

  3. mysql函数大全最小,MySQL函数一览_MySQL函数全部汇总

    前言 MySQL提供了众多功能强大.方便易用的函数,使用这些函数,可以极大地提高用户对于数据库的管理效率,从而更加灵活地满足不同用户的需求.本文将MySQL的函数分类并汇总,以便以后用到的时候可以随时 ...

  4. mysql checksum用法_MySQL checksum理解_mysql

    mysql checksum了解 在主从复制中Checksum常常需要对某些重要的表进行一致性检查. Checksum Table在逻辑备份时候前后是否可以用于验证数据一致性.扩展一下发现有一些有趣的 ...

  5. mysql ibata文件_重装系统后,怎么调用之前mysql的数据_mysql

    重装系统后,如何调用之前mysql的数据 前提是:必须保留之前的数据库数据 在介绍此方法之前,提醒各位最好的转移数据的方法为: 在原来MYSQL服务器导出SQL文件,然后再在新的MYSQL服务器导入数 ...

  6. mysql调试事件_mysql日志管理分析调试实例_mysql

    以下的文章主要介绍的是mysql 操作日志查看的实际操作步骤以及对其实际操作步骤的具体描述,假如你在实际操作中遇到相似的情况,但是你却不知道对其如何正确的解决,那么以下的文章对你而言一定是良师益友. ...

  7. php验证mysql内数据_MySQL中数据类型的验证_MySQL

    CHAR char (M) M字符,长度是M*字符编码长度,M最大255. 验证如下: mysql> create table t1(name char(256)) default charse ...

  8. 创建mysql代码实例_MySQL筹建系列之多实例_mysql

    mysql搭建系列之多实例 所谓多实例,就是在一台服务器上搭建.运行多个MySQL实例,每个实例使用不同的服务端口,通过不同的socket监听:物理上,每个实例拥有独立的参数配置文件及数据库. 通常情 ...

  9. python mysql python.h_MySQLdb/_mysql.c:38:20: fatal error: Python.h: No such file or directory

    一.描述 在centos7.5中执行pip3 install mysqlclient,报如下错误 [root@VM_0_10_centos data]# pip3 install mysqlclien ...

  10. MySQL数据类型特征_Mysql学习(三)数据类型_mysql

    mysql学习(3)数据类型 数据类型 数据类型是指.存储过程参数.表达式和局部变量的数据特征, 它决定了数据的存储格式,代表了不同的信息类型. 整型 Tinyint      有符号位 -128到1 ...

最新文章

  1. 一文看懂最近70年的人工智能简史!中国已经领先全球!
  2. 全球著名 CMS 产品大全
  3. 最新综述:推荐系统的Bias问题和Debias方法
  4. mysql数据库设计学习---数据库设计规范化的五个要求
  5. 【剑指offer】面试题09:用两个栈实现队列(Java)
  6. java.lang.ClassNotFoundException: net.sf.ezmorph.Morpher
  7. 浅谈相对定位与绝对定位
  8. 五个实用又有趣的网站
  9. Python集合set与frozenset的区别
  10. HashMap解决hash冲突
  11. JSZip,saveAs压缩保存文件
  12. pytorch模型预测
  13. 启用计算机的fn键,联想 ThinkPad 笔记本 Fn 键 关闭与启用方法
  14. android webView加载页面时显示出全部网页内容
  15. 大地坐标转换极坐标(球坐标)
  16. 使用MySql计算两个日期的时间差函数:TIMESTAMPDIFF
  17. docker虚拟化容器技术
  18. python删除excel某行的格式_Python+Xlwings 删除Excel的行和列
  19. NativeActivity
  20. 下载最新的Windows10官方系统镜像

热门文章

  1. 用python下载ts视频
  2. Matlab编程基础
  3. 多元统计分析(笔记更新中...)
  4. ikbc机械键盘打字出现重复_入手第一把机械键盘,打字打到上瘾——ikbc 新Poker键盘 体验...
  5. 扫描仪标准模板滑动采集图像及其处理
  6. 关于初级java程序员面试题总结(每月更新中)
  7. 虽然不舍但是事实 —— 纪念下 JavaEye
  8. loadrunner安装缺少vc2005
  9. 快播(QvodPlayer)最新版 v5.20.234 官方版
  10. cad快速看图能合并图纸吗_怎样才能把2张CAD图纸合并