2016-04-19 12 views
0

が含まれている重複を削除私は私のMySQLで重複が含まれているいくつかの行を挿入しましたが、そう、彼らはBRAKスペースが含まれているためのmysql:誤っても、休憩スペース

eg. 
     | id | name | 
     -------------- 
     | 1 | Apple | 
     | 2 | Apple{b}| //the {b} is just to show the cell actually contains a break space 

ときがあるとして、これらの重複は認められていない場所私はエラーを取得するだけでブレークを削除しようとするとnameUNIQUE細胞であるので、私はこの問題を解決するためのベストプラクティスは何ですか?

...それらが重複として認識されない重複を削除しようとすると、

+0

あなたは常に '' REPLACE()とのそれらを取り除くことができます。改行しないスペースを入力するのは難しいので、['UNHEX()'](http://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_unhex)を使って印刷可能な文字。 – tadman

答えて

1

あなたは最後にスペースを含むレコードを検索または削除する正規表現を使用することができます。

DELETE FROM your_table WHERE name REGEXP '\s+$'; 
+0

良い。しかし、それはまた、 "バナナ"でもスペースを持つ任意の名前を殺すが、私の場合、重複を殺す必要がある – Francesco

+0

違いがちょうどそのスペースにある場合は、次に自分自身にテーブルを結合し、 'DELETE t1 FROM your_table t1あなたのテーブルt2をCONCAT(t2.name、 '')= t1.name;' – cdm