MySQL
牛哞哞杂记
终身学习,成为更好的自己,公众号:牛哞哞杂记
展开
-
【MySQL】You can‘t specify target table ‘表名‘ for update in FROM clause”
出现此问题的sql语句如下:update test set take=(select MAX(id) from test) where userName='1'翻译是:不能在FROM子句中为更新指定目标表’test’原因在于,在mysql中,不能先select出同一表中的某些值,再update这个表。解决办法:把查询语句的结果集当作一个表,自我查询一遍,再进行修改。sql如下:select a.id from (select MAX(id) id from test) as a加上修改,原创 2020-10-30 09:09:11 · 117 阅读 · 0 评论 -
【MySQL】查询如果字段为null,就用0或其他值代替 sql
实现:查询如果字段为null,就用0或其他值代替1、使用 isnullsql语句:select IFNULL(score,0) score from test2.使用 case whenselect case when 字段 is null then 0 else 字段 end from 表名select case when score is null then 0 else score end from test...原创 2020-10-23 10:19:53 · 11340 阅读 · 0 评论 -
【MySQL】设置定时任务
需要实现一个功能:定时去更新某张表的数据所以想到了用事件和存储过程过程:① 创建存储过程② 创建事件,调用存储过程③ 启动定时器④ 开启事件具体可查看以下sql:DROP PROCEDURE IF EXISTS insertUser; -- 删除存储过程DROP EVENT IF EXISTS temp_event; -- 删除事件-- 创建存储过程CREATE PROCEDURE insertUser()BEGIN TRUNCATE TABLE test.user; -- 清原创 2020-08-29 14:54:12 · 192 阅读 · 0 评论 -
【MySQL】自定义函数
实现功能:MySQL自定义函数MySQL的函数很强大,但有时我们需要功能实现不了时,就得需要自己定义函数了流程:1.新建函数(以图片形式)(1)选择新建函数(2)填写参数名称和类型这个类型要和需要使用到这个自定义函数地方的值类型一致比如sql select countScore(score) from student这里的 countScore就是我们自定义的函数,定义参数类型时,类型要和score一致(3)返回的类型(4)开始写函数主体举个例子:BEGIN #Routin原创 2020-05-30 17:42:56 · 270 阅读 · 0 评论 -
Data truncation: Out of range value for column 'xxx' at row 1
java 报错:Data truncation: Out of range value for column ‘maxStrength’ at row 1报错原因:插入数据库的数据超出了 字段定义能存储的长度报错详情:在字段里设置 该字段的类型是float 长度是4 保留小数点后两位但添加的数据是整数三位数时,就报错了解决办法:修改数据库里报错字段的长度...原创 2020-04-03 17:34:41 · 24068 阅读 · 3 评论 -
[Err] 1093 - You can't specify target table ' ' for update in FROM clause 或者实现修改除某列以外的所有数据
使用mysql时,运行一段修改语句报错问题:[Err] 1093 - You can’t specify target table ’ ’ for update in FROM clause原因:这个错误的原因是,更新这个表的同时又查询了这个表。我为了实现修改除某列以外的所有数据,所以写了一个sql,出现了这样的错误。解决办法:可以改变思路,在select外边套一层,让数据库认为你不...原创 2019-11-13 14:22:03 · 1167 阅读 · 0 评论 -
mysql sql查询某日期字段加两个小时后的时间
完成功能:查询表里某个日期字段增加两个小时后的时间在mysql中有DATE_ADD()函数,可用于查询表里某个日期字段增加两个小时后的时间sql:举例,有一张表名为table,时间字段名为startTimeSELECT id,startTime,date_add(startTime,INTERVAL 2 HOUR) startTimeNew from table where id=144...原创 2019-11-11 12:40:44 · 5628 阅读 · 0 评论 -
com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException或[Err] 1062 - Duplicate
问题:com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry ‘oqKQM5LBRj2iwTG6zzGwlgPWuNjE-2019-10-31 14:38:14’ for key ‘openid’原因:关键字’openid’的重复条目’ oqkqm5lbrj2iwtg6...原创 2019-11-01 11:19:42 · 433 阅读 · 0 评论 -
mysql显示插入成功,但查询不到该条数据的原因
问题:mysql显示插入成功,但查询不到该条数据解决办法:查看表里是否存在与插入数据一样的主键今天遇到一个问题,我在后台插入数据,没报错,但数据库却查不出数据。我将sql语句在数据库管理工具里运行,然后发现受影响行数是0。这就是完全没插入数据啊,再检查几遍,发现主键重复了。...原创 2019-10-17 17:34:11 · 16542 阅读 · 1 评论 -
MySQL ERROR 1005: Can't create table (errno: 150)的解决办法
今天运行SQL时,出现了这个错误,MySQL ERROR 1005: Can’t create table (errno: 150)原因:这个表创建语句里有设外键,而外键那张表并不存在解决方法:1.删除建外键的语句2.将另一表建好,再运行SQL语句...原创 2019-08-17 16:34:10 · 2187 阅读 · 0 评论 -
[Err] 1267 - Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for
今天运行sql时遇到一个错误:[Err] 1267 - Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation ‘=’错误原因是:两张表的字符集编码不一样解决方法:修改其中一张表的字符集编码sql语句如下:ALTER TABLE 表名 CONVERT...原创 2019-08-09 09:14:08 · 1753 阅读 · 0 评论 -
jdbc连接mysql5与mysql6的区别
上次jdbc连接数据库出现错误,原因是因为高版本的mysql用了低版本连接配置。在mysql6之后,就将连接配置进行了修改。如果要使用高版本(mysql6以后的版本),可修改连接配置。mysql5的如下:jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://127.0.0.1:3306/test?characterEncoding=u...原创 2019-05-15 18:30:22 · 858 阅读 · 0 评论 -
连接数据库时useSSL=false的作用
useSSL=falseMySQL在高版本需要指明是否进行SSL连接1.true 需要连接2.false 不需要连接原创 2019-05-08 18:35:15 · 16926 阅读 · 3 评论 -
连接数据库时zeroDateTimeBehavior的作用
在JDBC连接串中有一项属性:zeroDateTimeBehavior,没添加“zeroDateTimeBehavior”,在操作值为0的timestamp类型时不能正确的处理,而是默认抛出一个异常,就是所见的:java.sql.SQLException: Cannot convert value ‘0000-00-00 00:00:00’ from column 7 to TIMESTAMP...原创 2019-05-08 18:33:46 · 11176 阅读 · 0 评论 -
连接数据库时allowMultiQueries=true的作用
MySQL连接数据库时,添加语句:“allowMultiQueries=true”的作用:1.可以在sql语句后携带分号,实现多语句执行。2.可以执行批处理,同时发出多个SQL语句。...原创 2019-05-08 18:31:34 · 48823 阅读 · 7 评论