
Mysql
文章平均质量分 71
Terisadeng
工作繁忙,私信和评论提的问题可能没时间复现解答(。・_・。)ノI’m sorry~
展开
-
java判断数据库连接是否有效的方法
java.sql.Connection类有两个方法可以判断连接是否有效一个是java.sql.Connection#isValid一个是java.sql.Connection#isClosed这两个方法的应用场景区别还是很大的首先看isClosed方法org.apache.commons.dbcp2.DelegatingConnection#isClosed这方法是判断java对象Connection对象是否是连接状态,而不是到数据库的连接是否正常。比如数据库宕机,Connection对象的状原创 2021-11-03 15:04:08 · 11444 阅读 · 0 评论 -
Mysql常用技巧汇总
Mysql使用技巧1、在表有外键关联时不能直接删除数据,可以先将外键检查关闭,删除数据后再打开#关闭外键检查SET FOREIGN_KEY_CHECKS=0;#打开外键检查SET FOREIGN_KEY_CHECKS=1;2、时间字段取,前一天或后一天的函数date_sub(curdate(),INTERVAL expr type)#select date_sub(原创 2017-07-27 09:47:25 · 582 阅读 · 0 评论 -
Mysql错误代码2006和1153
错误代码: 2006 - MySQL server has gone away执行长时间的SQL语句导致的超时,可以延长等待时间。查询系统设置的等待时间SHOW VARIABLES LIKE '%wait_timeout%';SHOW VARIABLES LIKE'%interactive_timeout%';均是28800秒,可以增大100倍。SHOW VARIABLES LIKE原创 2018-01-23 10:29:21 · 5314 阅读 · 0 评论 -
Tmocat问题汇总
1、Tomcat启动到连接池卡死在生产环境遇到一个问题,两台Nginx负载均衡的服务器在启动Tomcat时,在启动到dbcp连接池时就不打印任何日志,也不报错,完全没看到任何原因导致无法启动。 也考虑到会不会是负载均衡或者是数据库有问题,负载均衡检查也没发现问题,然后尝试sqlyog连接数据也可以成功。网上说修改连接池最大连接数的也没有用,查看Tomcat服务器磁盘空间也没有问题,尝试各种...原创 2018-01-10 14:35:33 · 759 阅读 · 0 评论 -
Hibernate使用Delete删除数据无效
使用Hibernate在插入数据时先删除已插入的重复数据DELETE FROM LoginLog t WHERE 1=1<isNotEmpty property="createTime" prepend="and"> createTime=:createTime</isNotEmpty><isNotEmpty property="systemName" p...原创 2018-03-05 17:30:22 · 5548 阅读 · 0 评论 -
MySQL等于号和不等号的陷阱
在使用delete删除数据时用<>限制删除项,结果并没有得到想要的结果,检查发现作为<>判断的字段如果是null是匹配不到的,仔细测试发现正常情况下等于“=”和不等于(“<>”或“!=”)返回1或0。但是当使用等于和不等于和null比较时结果既不是1也不是0,而是null。因此在使用等于和不等于号时一定要记得处理和null比较的情况。...原创 2018-03-05 17:51:30 · 9679 阅读 · 0 评论 -
Mysql快速导入导出数据
使用load data infile filename和select * from into outfile filename实现快速导入导出数据一、load data infile的语法结构如下:LOAD DATA [ LOW_PRIORITY | CONCURRENT ] [ LOCAL ] INFILE 'file_name.txt' [ REPLACE | IGNORE ] ...原创 2018-05-02 19:05:57 · 5229 阅读 · 0 评论 -
Mysql中文乱码以及创建外键报1215
今天使用Mysql报两个错误,这里记录一下。1、使用insert语句以及sqlyog插入中文字符显示乱码,核对数据库编码是utf8,建表语句也设置了引擎和默认字符集:CREATE TABLE `department` ( ...原创 2018-09-25 18:20:18 · 550 阅读 · 0 评论 -
Mysql事件
一、数据库事件状态,ON|1开启,OFF|0关闭show variables like '%sche%';如果查询不到变量,说明数据库版本过低,不支持事件。#启动事件,由于这是全局变量,需要root用户才能执行#下面的方法在数据库关闭或者服务重启时就会失效,需要重新设置。set global event_scheduler=1;#如果想要每次重启数据库服务后,事件仍原创 2017-11-08 17:31:17 · 1756 阅读 · 0 评论 -
mysql自定义生成随机主键函数
DELIMITER $$USE test $$DROP FUNCTION IF EXISTS `random_primary`$$CREATE FUNCTION `rand_string`(n INT) RETURNS VARCHAR(255) CHARSET latin1BEGIN DECLARE chars_str VARCHAR(100) DEFAULT 'ABCDEF原创 2017-10-26 15:39:54 · 6749 阅读 · 0 评论 -
Mysql触发器
1、向表中插入数据触发触发器DELIMITER $$USE `databasename`$$DROP TRIGGER /*!50032 IF EXISTS */ `trigger_after_insert_trigger_name`$$CREATE /*!50017 DEFINER = 'root'@'%' */ TRIGGER `trigger_a原创 2017-07-24 11:19:28 · 280 阅读 · 0 评论 -
Mysql知识点记录
1、删除包含外键的表数据在表中的列包含外键的时候,删除数据会报外键关联,无法删除数据的错误,这时候如果想要删除数据,不管关联的外键,就要先将外键检查置为失效,删除之后再置为生效#使外键检查失效SET FOREIGN_KEY_CHECKS=0;:::#使外键检查生效SET FOREIGN_KEY_CHECKS=1;2、多表关联更新数据UPDATE zg原创 2017-07-24 11:14:27 · 465 阅读 · 0 评论 -
ibatis查询数据显示为ASCII码的问题
在通过ibatis自定义SQL进行数据查询时,数据库通过Mysql查询,由于查询语句过于复杂,后台代码查询的数据都是一组数字通过逗号隔开的形式,数据看着比较有规律,最后发现原来是ASCII码,因此猜测可能是查询返回的数据是字符串形式,而且查询结果列是经过CONCAT()函数处理的,所以将每一个返回结果是字符串的列都增加了一个CAST(column as signed)转换为数字,这时前台显示的数据原创 2017-08-11 13:57:54 · 557 阅读 · 0 评论 -
Mysql删除重复数据
测试表结构CREATE TABLE `testdeleterepetition` (原创 2017-08-22 14:31:03 · 237 阅读 · 0 评论 -
大数据平台导出数据到本地Mysql数据库报错
业务场景如下:使用大数据平台Hadoop执行存储过程获取数据,然后将大数据平台表中的数据导出到本地Mysql数据库中,为了数据安全,先将数据导出到一个专用用户中,再由专用用户通过触发器插入到实际业务用户中。在由大数据平台导出时报如下错误:- ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildgu原创 2017-09-06 19:17:52 · 1530 阅读 · 0 评论 -
Mysql取分组后前N个值
表结构如下:create table `test_group_limit` ( `row_id` varchar (33), `id` int (11), `num` bigint (11), `log` varchar (33)); insert into `test_group_limit` (`row_id`, `id`, `num`, `log`) values('1','原创 2017-09-15 15:59:29 · 583 阅读 · 0 评论 -
Mysql创建存储过程
1、语法格式DELIMITER $$CREATE /*[DEFINER = { user | CURRENT_USER }]*/ PROCEDURE `test`.`sp_name`( in args1 int,out args2 int) /*LANGUAGE SQL | [NOT] DETERMINISTIC | { CONTAINS SQL |原创 2017-11-08 17:34:53 · 347 阅读 · 0 评论 -
Mysql申明变量、赋值
Mysql申明变量、赋值1、自定义变量1)set @varname=value; 或者 set @varname :=value;2)select @varname :=value; 或者 select @varname := 字段名 from 表名 where ......使用set时 “=”和“:=”都可以,使用select时只能使用“:=”方式。2、存储过程、函数变量原创 2017-11-09 13:35:27 · 5910 阅读 · 0 评论 -
Mysql创建Function报1418错误
今天在本地创建了一个自定义函数用来生成随机数做列主键,本地测试成功后放到生产环境后,一直报错。仔细查看报错信息:错误代码:1418This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging看到binary logging感觉很原创 2017-11-09 15:50:18 · 1844 阅读 · 0 评论 -
MySQL主从复制实现基于日志点的复制
实现基于日志点的复制1:在Master端建立复制用户2:备份Master端数据,并在Slave端恢复3:使用Change master命令配置复制select user,host from msql.user;create user 'dba'@'192.168.1.%' identified by '123456';grant replication salve原创 2017-06-28 09:40:05 · 355 阅读 · 0 评论