我需要將列從一個錶轉移到另一個表。源表與目標表有不同的排序規則(latin1_general_ci和latin1_swedish_ci)。mySQL中排序規則的非法組合
我用
UPDATE target
LEFT JOIN source ON target.artnr = source.artnr
SET target.barcode = source.barcode
我得到一個 「排序規則的非法組合」。
什麼是快速修復得到這個工作,而不必改變任何表?我嘗試了CONVERT和COLLATE以UTF-8運行整個操作,但這並沒有幫助。 「條形碼」僅包含數字數據(即使它們都是VARCHAR),因此無論哪種方式都不存在排序問題。我只需要做一次。
編輯:我在涉及的每個領域使用
CAST(fieldname as unsigned)
對它進行了整理。在這種情況下,我能夠做到這一點,因爲只有數字數據受到了影響,但如果知道更爲一般的方法,我將很高興,所以我將這個問題留給公開。
甜,這是有效的。謝謝! – 2010-02-25 22:44:56