2013-06-27 48 views
2

我試圖通過將其與日期比較,如刪除表中的記錄:歸類錯誤

DELETE FROM <table> WHERE DATE_ADD('MTN_CPCreateDate', INTERVAL 3 DAY) < CURDATE() 

對於此查詢,我對着下面的錯誤

1267 - Illegal mix of collations (utf8_general_ci,COERCIBLE) and (latin1_swedish_ci,NUMERIC) for operation '<' 

我經歷了各種帖子,但無法找到解決方案。我可能做錯了什麼?

+0

什麼是'MTN_CPCreateDate'的列類型? – JohnP

+0

Coulmn數據類型爲'Date' – user2529112

回答

0

顯然,您的查詢中有列/表具有不同的排序規則,對於某些操作是非法的。

嘗試在創建表的列問你整理改變涉及到單一的排序規則

表/列。這裏有一個排序錯誤匹配

+0

這可以工作..因爲我在Date字段中創建了一個默認排序規則的表,現在當我運行此查詢時,它可以正常工作。所以改變你的整理。 –

+0

我的日期列的數據類型是日期(例如2013-06-27),當我瀏覽我的表時,它不顯示此列的任何歸類,而對於其他列,它在表中顯示爲latin1_swedish_ci歸類 - – user2529112

+0

從創建數據庫時開始,將其保留爲默認值。默認情況下,它只是寫成'Collat​​ion'不會改變它。它沒有任何區別。然後創建一個表並確保排序規則字段保持不變。現在就試試吧。 –