sql
少侠snail
这个作者很懒,什么都没留下…
展开
-
报错:Illegal hour value ‘62‘ for java.sql.Time type in value ‘62:12:10.\n;
分析:使用UNIX_TIMESTAMP 函数对时间进行计算后,引擎自动把得到的时间转换成时间格式,但是不能超过24h ,所以会报错。所以必须将其转换为字符。解决:利用concat('',time)直接转化成String类型就解决了PS:这里不推荐使用如下方法:DATE_FORMAT(time,'%Y-%c-%d %h:%i:%s'),因为这个函数使用会默认减去24小时。...原创 2021-11-02 10:53:43 · 469 阅读 · 0 评论 -
mysql 切割字符串,实现split 一行变多行
简单点,表结构;实现效果:sql:SELECT a.id, SUBSTRING_INDEX( SUBSTRING_INDEX( a.citys, ',', help_topic_id + 1 ), ',' ,- 1 ) AS cityFROM mysql.help_topic, a_test AS aWHERE...原创 2020-12-07 17:46:12 · 2209 阅读 · 0 评论 -
You can't specify target table 'table_A' for update in FROM clause
Mysql在del和update时含子查询会报此错-->因为在MYSQL里,不能先select一个表的记录,再按此条件进行更新和删除同一个表的记录解决办法是,将select得到的结果,再通过中间表select一遍,这样就规避了错误,这个问题只出现于mysql,mssql和oracle不会出现此问题详情看sql:原报错sql:UPDATE table_A SET st...原创 2019-03-14 10:59:04 · 962 阅读 · 0 评论 -
并发环境下往数据库插入数据时,多插入数据问题
这类属于并发问题,简单说,就是同一条数据还没等插入进去就又执行了一遍插入,但是不能进行并发环境下,向同一张表中插入多条数据(主键自增),如果锁表的话,其他的用户插入时等待一定时间会失败可以采用以下方法:1、如果在insert into 语句末尾指定了on duplicate key update,并且插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,则在出现重...原创 2019-04-12 17:20:52 · 6912 阅读 · 0 评论 -
You can change this value on the server by setting the max_allowed_packet' variable
向mysql插入过大数据时,会报这个错。一般是某一字段过长com.mysql.jdbc.PacketTooBigException: Packet for query is too large (3413886 > 1048576). You can change this value on the server by setting the max_allowed_packet' v...原创 2019-09-19 11:48:09 · 1387 阅读 · 0 评论