基本上,我有一個表稱爲文件,其中包含一個名爲「主機」列中。我創建了另一個名爲「rev_host」的列,我只想將反向字符串從「host」存儲到「rev_host」。例如,如果「主機」值是「www.cmu.edu」,我想將「ude.umc.www」保存到「rev_host」。然後我用一個聲明MySQL的INSERT SELECT語句拋出錯誤1062:重複的項目「」的關鍵2
INSERT INTO document (rev_host) SELECT REVERSE(host) from document;
本聲明將引發1062錯誤:
ERROR 1062 (23000): Duplicate entry '' for key 2
這是什麼說法的問題呢?如果我不能這樣插入。什麼是正確的方式來執行此插入?
出於好奇,有什麼用在原有基礎上「www.cmu.edu」而反轉字符串特別禁止你比使用不同的表?看起來,如果轉換始終是一致的(REVERSE),則可以通過在需要時進行反轉(選擇等)來節省額外的存儲空間並插入。這將遵循練習「不要存儲你可以計算的東西」 – hexparrot 2012-02-18 22:33:22