基本的に、私は "host"という名前の列を含むdocumentという表を持っています。私は "rev_host"という名前の別の列を作成しました。私が望むのは、 "host"から "rev_host"への逆の文字列を格納することだけです。たとえば、 "host"の値が "www.cmu.edu"の場合、 "ude.umc.www"を "rev_host"に保存します。MySQL INSERT SELECT文がスローされるエラー1062:キー2の重複エントリ ''
ERROR 1062 (23000): Duplicate entry '' for key 2
この文の問題はどのようなものです:私は、この文は、1062エラーがスローされます
INSERT INTO document (rev_host) SELECT REVERSE(host) from document;
ステートメントを使用しますか?私はこの方法で挿入できない場合。この挿入を行う正しい方法は何ですか?
、何が特にオリジナルの「www.cmu.edu」というに基づいて反転した文字列を使用してからあなたを禁止しています別のテーブルを使用するよりも?変換が常に一貫している場合(REVERSE)、必要なときにREVERSEを実行するだけで、余分なストレージと挿入を省くことができます(選択など)。これは、 "あなたが計算できるものを保存しない"という練習に従います。 – hexparrot