MySQL
文章平均质量分 69
MySQL
Agly_Charlie
做靠谱的人,coding
展开
-
MySQL中的自增主键 ID自增到最大,使用完id会发生什么,怎么办?
文章目录背景测试过程创建表,自增ID场景一:测试自增ID已经达到最大值场景二:测试自增ID即将达到最大值总结解决方案扩展扩展1:修改字段的数据类型,建议使用modify 用法扩展2:Alter table的底层原理背景之前的学习和实践上了解到的是:SQL插入异常,主键冲突错误,因为自增ID达到上限后,再申请时它的值不会改变,继续插入数据会导致报主键冲突错误/* SQL Error (1062): Duplicate entry '2147483647' for key 'PRIMARY' */原创 2021-07-21 00:10:18 · 5775 阅读 · 1 评论 -
mysql 连表操作后字符集不同导致索引失效
mysql 连表操作后字符集不同导致索引失效背景一个表的字符集为utf8mb4一个表的字符集为utf8连表查询后可以发现索引失效的情况,查询很慢。这时候可以通过show warnings;查询警告信息。发现了convert(testdb.t1.code using utf8mb4)之后,发现2个表的字符集不一样。t1为utf8,t2为utf8mb4。但是为什么表字符集不一样(实际是字段字...转载 2019-02-27 16:45:07 · 2475 阅读 · 0 评论 -
sql查询结果的行记录转换为列属性
sql查询结果的行记录转换为列属性数据库查询结果后,某一列的结果意义是代表了不同的属性,根据不同的属性,进行转化为列。实战1转化前mysql> select logid,game,account,platform from tbaccess_mgame limit 2;+-------+------+------------------+----------+| logid |...原创 2019-02-27 16:32:31 · 3645 阅读 · 0 评论 -
mysql 批量操作的问题
mysql 批量操作的问题项目中使用批量操作,但是发现插入还是很慢,追踪了源码和查看了资料,发现一个平时没有注意到的问题,mysql的批量操作默认是没有开启的,开启之后操作速度是远远提高了。batchupdate的操作需要url参数 rewriteBatchedStatements=true参考1:https://stackoverflow.com/questions/26307760/...转载 2019-02-27 16:18:48 · 870 阅读 · 0 评论 -
mysql 连接池超时问题
文章目录mysql 连接池超时问题查看超时参数修改修改超时参数查看超时参数参考MySQL中interactive_timeout和wait_timeout的区别interactive_timeoutwait_timeout总结参考mysql 连接池超时问题Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: T...转载 2019-02-27 16:08:01 · 1995 阅读 · 0 评论 -
mysql对空值null和空串的处理——IF和IFNULL的使用
判断是否为空值nullifnull($col,'未知区服') // 当$col 为null 返回'未知区服'判断是否为空串""IF($col="",'未知游戏',$col) // 当$col为空字符串 返回'未知游戏' 否则返回$col空值和空串的判断并赋予默认值(IF和IFNULL的组合使用)当需要判断字段的值为null 或者空字符串的时候赋予默认值,例子:REPLACE INT...原创 2019-02-27 15:14:43 · 10170 阅读 · 1 评论 -
远程登录mysql数据库
通过ip远程登录数据库当时测试成功的条件是相同局域网下远程登录;但在不同局域网没有登录成功。 基本思路如下 - 第一步: 查看本机ip 终端下输入ifconfig,查看本机的ip第二步: 远程登录安装ssh sudo apt-get install ssh第三步: 通过ip远程连接 ssh 用户名@用户ip第四步: 登录数据库为用户授权 登录mysql mysql> gr原创 2015-10-07 21:27:20 · 1026 阅读 · 0 评论 -
mysql在ubuntu下远程访问
ubuntu mysql数据库远程访问需要远程访问那么就需要有授权后才能进行远程访问 参考 http://blog.csdn.net/hunauchenym/article/details/6933038修改配置文件 修改 /etc/MySQL/my.cnf找到bind-address = 127.0.0.1,然后注释掉重启mysql 重启 MySQL:sudo /etc/init.d/m原创 2017-02-20 15:42:26 · 765 阅读 · 0 评论 -
Java操作MySQL数据库 limit 实现分批分页,解决内存溢出问题
## MySQL limit 分批分页取数据库,解决运行溢出问题 ## - 在查询数据库的时候,由于要查询很大的数据,上百万的级别,往往让出现内存溢出的问题,所以这时候需要分批去取数据库表中的全部数据来进行处理,最简单的方法就是使用分页查询语句:MySQL的LIMIT语句是满足这个要求的。 - 先来了解这个用法和原理:mysql LIMIT 子句用法及原理。 - 使用查询语句的时候,经常原创 2016-11-16 20:44:45 · 14939 阅读 · 1 评论 -
mysql 导出数据库到本地
mysql 导出数据库到本地登陆进去数据库后,输入命令 把dbname数据库导出为dbname.sql文件mysqldump -h 127.0.0.1 -u root -p dbname > dbname.sql 参考:http://blog.csdn.net/piaocoder/article/details/51995372转载 2017-02-21 20:41:16 · 2870 阅读 · 0 评论 -
mysql表新增添加一列
mysql如果想在一个已经建好的表中添加一列有这样的需求,已经建立的表,随着需求的变化,会需要在这个表增加一列。当然可以新建表建立联系满足需求。 但就仅新增一列这个问题,可以有以下操作: 针对数据库:mysqlALTER ... ADD COLUMN .... 在表的最后一列增加新的一列ALTER TABLE `tbname` ADD COLUMN `state` TINYINT(2)原创 2017-10-10 17:27:41 · 77735 阅读 · 5 评论 -
MySQL远程复制把多个相同数据表汇总到一个表
读取多台服务器里的远程数据库的表,并汇总到一个数据库的表中在这里用复制的方法。 基本思路是第一步 复制远程的数据库到本机数据库mysqldump -h '被复制方的ip' -u对方用户名 -p对方密码 --opt --compress 数据库名 --skip-lock-tables | mysql -h localhost -u root -p主机密码 数据库名ps:—这一步远程复制数据表到本原创 2015-10-07 20:48:54 · 2382 阅读 · 0 评论 -
update的where条件把索引的字段要带上,要不然就全表锁
update的where条件把索引的字段要带上,要不然就全表锁文章目录update的where条件把索引的字段要带上,要不然就全表锁本文主要内容背景在学习中总结一下内容关于锁的表sql加锁思考点InnoDB行锁实现方式本文主要内容报错了: java.sql.BatchUpdateException: Lock wait timeout exceeded; try restarting tra...原创 2018-10-12 20:23:57 · 7716 阅读 · 0 评论