java.sql.SQLException: Lock wait timeout exceeded;

java.sql.SQLException: org.springframework.dao.CannotAcquireLockException: PreparedStatementCallback; SQL [update social_hunan_seed_info set batchId=?, status='1',last_update_date = now() where status='0' limit ?]; Lock wait timeout exceeded; try restarting transaction; nested exception is java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction

从错误上来看是锁的原因,等待锁超时


SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;#查询当前进行锁等待的

java.sql.SQLException: Lock wait timeout exceeded;_第1张图片

可以看到有两条记录,拿着这个id,


select * from information_schema.innodb_trx;#查询所有被锁的


这是所有的,加上上面的id可查询到一条数据,说明被锁住了


锁住时执行的操作,里面可以看到锁住哪张表了。

暂时还不会通过kill  id进程。。。。

show variables like '%table_lock%';#查询系统的锁等待时间




将   '19-5月 -15 00.00.00.000000000 上午'  转换成标准时间格式:

select to_char(cast (cast (createdate  as timestamp)  as date),'yyyy-mm-dd hh24:mi:ss') from jd_userinfo t where t.createdate like '%月%';

select to_date(to_char(cast (cast (createdate  as timestamp)  as date),'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') from jd_userinfo t where t.createdate like '%月%';


cast (createdate  as timestamp)  时间戳

cast (cast (createdate  as timestamp)  as date)   转换成date

to_char(cast (cast (createdate  as timestamp)  as date),'yyyy-mm-dd hh24:mi:ss')  转换成字符串


to_date(to_char(cast (cast (createdate  as timestamp)  as date),'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss')   标准格式化


缺一个都会报错

你可能感兴趣的:(java.sql.SQLException: Lock wait timeout exceeded;)