MySQL-LAST_INSERT_ID();使用注意事项】的更多相关文章

mysql数据库安装注意事项: https://jingyan.baidu.com/article/642c9d34aa809a644a46f717.html(安装教程) 注意语言设置为gbk可以解决mysql插入不了中文的问题…
mysql 常规书写注意事项,mysql注意事项 1. 注释:  -- 后面一定要加一个空格,否则会报错 2.注释:/*! content */ 在mysql中是会执行的,但是其他数据库不会.   例如: /*! select 1 from dual*/; 3.delimiter //          content     // delimiter ;   -- delimiter结束符和分号之间一定要有一个空格. -- delimiter ; -- 修改结束符号为分号 mysql>deli…
博主最近打算搭建商城,由于之前对建表只有很浅显的理解,没有太过深入了解,建表过程中遇到一些问题,现记录如下, 如有问题请各位留言指正,感激不尽: 建表时设置如何设置联合主键?如下标红处: CREATE TABLE `product_price` ( `product_id` int(12) NOT NULL COMMENT '商品ID', `price_category_id` int(12) NOT NULL DEFAULT '0' COMMENT '价格类型ID', `price_descr…
在使用MySQL时,若表中含自增字段(auto_increment类型),则向表中insert一条记录后,可以调用last_insert_id()来获得最近insert的那行记录的自增字段值 $mdb->lastInsertId(); 但事实上,使用last_insert_id()时有很多注意事项,否则很容易踩到坑. 若在同一条insert语句中插入多行(如"insert into tbl_name (col_a, col_b) values ('aa', 'bb'), ('aaa', '…
索引是快速搜索的关键.MySQL索引的建立对于MySQL的高效运行是很重要的.下面介绍几种常见的MySQL索引类型. 在数据库表中,对字段建立索引可以大大提高查询速度.假如我们创建了一个 mytable表: CREATE TABLE mytable(   ID INT NOT NULL,    username VARCHAR(16) NOT NULL  );   我们随机向里面插入了10000条记录,其中有一条:5555, admin. 在查找username="admin"的记录…
    索引注意事项 (1)最左前缀原则 如果查询的时候,查询条件精确匹配索引的左边连续一列或几列,则可以命中索引. (2)避免where 子句中对字段施加函数,如to_date(create_time)>xxxxxx,这样会造成无法命中索引. (3)在使用InnoDB 时,使用与业务无关的自增主键作为主键,即使用逻辑主键,而不要使用业务主键. (4)合理利用索引覆盖 覆盖索引(Covering index)指一个查询语句的执行,只需要从辅助索引中就可以得到查询记录,而不需要查询聚集索引中的记录…
http://blog.sina.com.cn/s/blog_5b5460eb0100nwvo.html LAST_INSERT_ID() LAST_INSERT_ID(expr) 自动返回最后一个INSERT或 UPDATE 问询为 AUTO_INCREMENT列设置的第一个 发生的值. mysql> SELECT LAST_INSERT_ID(); -> 195 产生的ID 每次连接后保存在服务器中.这意味着函数向一个给定客户端返回的值是该客户端产生对影响AUTO_INCREMENT列的最…
先来看看官方的说明 The ID that was generated is maintained in the server on a per-connection basis. This means that the value returned by the function to a given client is the first AUTO_INCREMENT value generated for most recent statement affecting an AUTO_IN…
mysql的存储过程有很多需要注意的地方,一不留神就会出错,可能调试了老半天才发现原因 1  没有return 语句 可以采用leave代替,返回直接使用select语句 比如select 1: 2.mysql的语句要严格加上分号,非执行语句的不需要加,比如begin.end.loop等 3.游标的获取状态 通常采用定义一个继续执行的处理,CONTINUE的意思就是遇到Not FOUND的异常时,会设置一个变量标志,但是程序继续执行,然后我们根据这个标志来跳出循环或者返回等等 declare c…
源码地址: https://gitee.com/kevin9401/BackUpDataBase git 拉取: https://gitee.com/kevin9401/BackUpDataBase.git 一.需求: 定时备份数据库数据 二.分析: 1. 定时任务 2. 备份数据库表结构和数据 三.实现: 1. pom 文件: <?xml version="1.0" encoding="UTF-8"?><project xmlns="h…
序言 一个服务或者一个程序,由 程序+数据组成.在数据这块,计算机中IO是比CPU要慢得多,为了减少IO,减少CPU运算.我们第一时间会想到索引,但索引为啥会提高效率,因为可以减少IO,在查询的时候不用遍历整张表. 关于mysql 的小知识, 1)在创建表的时候如果在业务中能保证非null的字段,建议明确标示not null 因为mysql中对null需要特殊的标示.使用not null 字段更节省空间.对接下来的索引构建也有好处. 2)count(*) 和count(id) id 代表某个字段…
今天安装了一下mysql,出现的问题主要是在最后一步: msyql 安装到最后一步 start service 错误解决方法 1, 到控制面板里面先把 mysql 删除 . 2. 到 c 盘 C:\Program Files 目录下把 mysql 目录删除 . 3. 如果在其他盘还有设置目录也要删除 . 空目录也要删除 4. 到 regedit 把注册表 HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/Eventlog/Application s…
LAST_INSERT_ID 自动返回最后一个 INSERT 或 UPDATE 操作为 AUTO_INCREMENT 列设置的第一个发生的值. 参考这里 The ID that was generated is maintained in the server on a per-connection basis. LAST_INSERT_ID是基于单个connection的, 不可能被其它的客户端连接改变. 可以用 SELECT LAST_INSERT_ID(); 查询LAST_INSERT_I…
SET @mycnt=0; SELECT @mycnt := @mycnt +1 as mycnt, a.*, b.* FROM a, b; 表中第一列即为mycnt,从1开始计数. set @num=0;select concat('update apl_maps_biz set gkid=\'',gkid,'\' where id=',@num := @num +1,';' ) from ca_map_buzman; 1.cp path/mysql/data/your database pa…
node.js作为服务端的js运行环境已经出现了有几年了,最近我有个朋友也在做这方面的开发,但是也是刚刚接触,遇到了很多坑.前几天他们在操作数据库的时候出现了点问题,后来我们一起看了看,其实都是node本身机制的一些问题,这里总结一下给新手做借鉴. 我朋友的数据库采用的是MySQL.(至于为什么不用mongoDB,这个是公司上层选型的结果,因为很多新手朋友似乎总是觉的node.js就是应该和mongoDB联系在一起,所以这里简单说下).我后来写了一个简单的小例子,整个小例子使用了express框…
mysql字符集设置必须是在具体的某一个数据库情况下才能进行设置 否则会报错.…
因需要使用到分区表,在业务不中断的情况下,可以新增分区,需要将原来的Mariadb10.1.25版本升级到Mariadb10.3.8. 1.升级步骤如下 1)新搭建Mariadb10.3.8版本的DB 2)全备份Mariadb10.1.25版本数据(表结构.存储过程.函数.触发器等) 3)将Mariadb10.1.25的备份数据恢复到Mariadb10.3.8 4)使用/u02/mysql/bin/mysql_upgrade 升级 2.升级并导入备份后遇到问题 但是其中遇到一个问题,就是在导入备…
========================================================= MySQL Inception原理图 ========================================================= MySQL Inception问题(2.1.50): .列默认值与列类型不匹配时,检测通过但执行失败 .INSERT记录存在主键冲突,检测通过但执行失败 .多表删除可能存在问题,多表联合更新无法备份 .BLOB/TEXT类型列不能…
GROUP_CONCAT 函数返回一个字符串结果,该结果由分组中的值连接组合而成,常和 GROUP BY 连用. 如果需要自定义分隔符可以使用 SEPARATOR. 示例: SELECT GROUP_CONCAT(id) ids FROM sys_oem_resources WHERE pid IS NOT NULL GROUP BY pid; SELECT GROUP_CONCAT(id SEPARATOR '*') ids FROM sys_oem_resources WHERE pid I…
一.安装MySQL之后,怎样启动MySQL,以及登录.查看数据库操作? 用管理员身份运行cmd或power shell 二.当然有可能会出现不能在cmd或power shell中登录数据库账户 造成这种情况的原因有两种 1.安装软件的时候没有配置好,如以下情况未打勾 安装的时进行配置未打勾,可以找到MySQL安装根目录种的bin文件夹下的MySQLInstanceConfig.exe进行重新配置 2.还有一种情况是即使上面正确配置,在系统的环境变量的path中不能自动写入MySQL的环境变量,这…
1.mysql中有自增长,oracle用新建sequence代替. 2.在实体类的id要指定相关的sequence @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="seq_pl_policy")        @SequenceGenerator(name="seq_pl_policy",allocationSize=1,initialValue=1, sequenceName="s…
by qx.zhong Hangzhou 29 Jun 2014 开发环境 OS:  Win8.1 x64 JDK: 1.8 SE DB:  MySQL 5.5  Lib:  mysql-connector-java.jar 1. MySQL数据库数据类型与JDK之间的特殊相应关系 下表仅仅列举几个特殊的值类型对比,其余的有须要能够參考MySQL官网的值类型说明(http://dev.mysql.com/doc/refman/5.1/zh/index.html)以及JDK的相关资料.      …
索引的优点 大大加快数据的查询速度 使用分组和排序进行数据查询时,可以显著减少查询时分组和排序的时间 创建唯一索引,能够保证数据库表中每一行数据的唯一性 在实现数据的参考完整性方面,可以加速表和表之间的连接 索引的缺点 创建索引和维护索引需要消耗时间,并且随着数据量的增加,时间也会增加 索引需要占据磁盘空间 对数据表中的数据进行增加,修改,删除时,索引也要动态的维护,降低了维护的速度 创建索引的原则 更新频繁的列不应设置索引 数据量小的表不要使用索引(毕竟总共2页的文档,还要目录吗?) 重复数据…
last_insert_id()函数是适用于id为自动生成的表 下面是插入表数据时last_insert_id()函数的两种用法: 表结构: 此表使用last_insert_id()函数的字段为parentId(父节点): parentId取值特点: 1)levelId节点为'0'时parentId为空: 2)levelId节点为'1'时parentId取levelId节点为'0'数据的autoId: 3)levelId节点为'2'时parentId取levelId节点为'1'数据的autoId…
一 ImportError: cannot import name 'db' 由于app最后才加载,所以其他文件,比如models.py不能从app.py导入任何变量, 要使用db可以先定义一个,之后再注册初始化即可: 二 The sqlalchemy extension was not registered to the current application 没有注册导致的,网上很多方法都不对,应该在程序启动之前就注册,不能再 if __name__ == '__main__':里面注册:…
作用:当对table进行insert操作时,返回具有Auto_increment(自动增长)特性的属性列的最新值. 该函数的特点 1.每当断开本次连接之后又重新连接时,该函数的返回值会被重置为0. 2.仅与调用该函数的client有关.举个例子,在当前connect的client中,我调用LAST_INSERT_ID()函数,返回值为5,若是我在另一个终端中又对数据库建立连接并且对表进行了insert操作后:在原终端中调用LAST_INSERT_ID()函数,返回值依旧为5. 3.该函数只返回自…
mysql 无法使用索引的查询 索引是什么,为什么要用索引,索引使用的时候要注意什么,那些情况下索引无法起作用. 1,索引是什么 mysql的索引也是一张表,并且是一个有序的表,主要记录了需要索引的数据的物理地址,在数据量巨大的时候,查询某些值,不需要进行全表扫描,就可以找到对应的值,大大加快查询速度. 2,为什么用索引,索引使用的时候要注意什么 前文已经说过,索引可以大大的加快数据查询的速度,当数据量巨大的时候,加索引比不加索引的速度有指数级的增加. 但是,并不是所有的字段都加索引,有些情况下…
1. SQL优化的原则是:将一次操作须要读取的BLOCK数减到最低,即在最短的时间达到最大的数据吞吐量. 调整不良SQL通常能够从下面几点切入: ? 检查不良的SQL,考虑其写法是否还有可优化内容 ? 检查子查询 考虑SQL子查询能否够用简单连接的方式进行又一次书写 ? 检查优化索引的使用 ? 考虑数据库的优化器 2. 避免出现SELECT * FROM table 语句,要明白查出的字段. 3. 在一个SQL语句中,假设一个where条件过滤的数据库记录越多,定位越准确,则该where条件越应…
当开发,测试,生产的数据库环境配置不一致(比如:配置字符集不同)时而导致特殊现象时,可以从Navicat的<工具>-<服务器监控>-<变量>里查找原因.…
今天遇到一个问题,父子表关联查询时总是多出几条数据,后来排查是父子关系的字段 类型不一致导致的…