我有以下查詢工作的罰款無視唯一關鍵:一旦切換INSERT到更換DATE_SUB()結果無效
insert_post = ("""INSERT IGNORE INTO posts
SET internal = %s,
schedule_date = DATE_SUB(%s, INTERVAL 2 HOUR)
""")
我切換查詢REPLACE
或ON DUPLICATE KEY UPDATE
我收到以下錯誤:
mysql.connector.errors.DataError: 1292 (22007): Truncated incorrect datetime value: '2017-08-19T12:45:00-0500'
我認爲傳入的值格式與MySQL datetime列不兼容,但它似乎不是我的初始INSERT
上的問題。
關於我失蹤的任何想法?
下面是一個SQL小提琴,但小組不會運行DDL/DML所以不要指望比模式更:http://sqlfiddle.com/#!9/656a3/2
編輯:這裏的工作SQLfiddle顯示覆制錯誤:http://sqlfiddle.com/#!9/c13f45/1
您是否嘗試在插入前將您的查詢作爲select語句運行?我這樣做,當我調試,有時它的超級有助於確定爲什麼失敗。 – ttallierchio
@ttallierchio SELECT和DATE_SUB格式可以正常工作。 – Jared
在左側寫上您的DML:http://sqlfiddle.com/#!9/c13f45/1或使用rexester:http://rextester.com/TENRB4721 –