MySQL:Data truncated for column 'last_apply_time' at row 1


最近在執行一個更新語句時報這個錯誤:Caused by: java.sql.SQLException: Data truncated for column 'last_apply_time' at row 1。

查百度說主要原因是建表的列為特定類型,而所插入的數據類型沒與其字段一一對應

原先使用的sql語句為:

UPDATE jc_supplier_funds SET last_apply_time =  IFNULL((SELECT create_time FROM jc_jiesuan WHERE current_oprerate_type      > 0 AND supplier_id =  'f6e7d269-3798-4f' AND status = 1 ORDER BY create_time desc LIMIT 1),0)   WHERE supplier_id = 'f6e7d269-3798-4f' ;

通過查詢這兩個表的DDL發現:

jc_supplier_funds `last_apply_time` int(11) DEFAULT '0' COMMENT '上次申請時間',

jc_jiesuan `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '申請時間',

雖然這兩個字段都是表示時間,但在數據庫存的時候有的屬性不同導致了該問題!

 sql修改為:

UPDATE jc_supplier_funds SET last_apply_time =  IFNULL((SELECT UNIX_TIMESTAMP(create_time) FROM jc_jiesuan WHERE current_oprerate_type      > 0 AND supplier_id =  'f6e7d269-3798-4f' AND status = 1 ORDER BY create_time desc LIMIT 1),0)   WHERE supplier_id = 'f6e7d269-3798-4f' ;

就沒有問題了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM