:あなたの形式は非常に規則的でない(あるいはあなたが発生した郵便番号、州または都市値を持っている場合は
mysql> create table `m2` (`id` int(11) auto_increment, a TEXT, b TEXT, PRIMARY KEY (`id`)) ENGINE=InnoDB;
Query OK, 0 rows affected (0.06 sec)
mysql> insert into `m2` (a, b) VALUES ('200 Honolulu Drive Los Angeles CA 89999','89999');
Query OK, 1 row affected (0.01 sec)
mysql> select * from m2;
+----+-----------------------------------------+-------+
| id | a | b |
+----+-----------------------------------------+-------+
| 1 | 200 Honolulu Drive Los Angeles CA 89999 | 89999 |
+----+-----------------------------------------+-------+
1 row in set (0.00 sec)
mysql> update `m2` set a = TRIM(REPLACE(a, b,'')) WHERE id = 1;
Query OK, 1 row affected (0.06 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select * from m2;
+----+-----------------------------------+-------+
| id | a | b |
+----+-----------------------------------+-------+
| 1 | 200 Honolulu Drive Los Angeles CA | 89999 |
+----+-----------------------------------+-------+
1 row in set (0.00 sec)
:MySQLのコンソールでこれを試してくださいアドレスフィールドの複数の場所)あなたは簡単にあなたのアドレスフィールドを破損する可能性がありますので、私はあなたがSQLではなくコードでそれを行うことをお勧めしたいと思います。
しかし、あなたのために、ピンチでそこにあります。
これはテーブルですか?削除する条件は何ですか?詳細に説明する。 –
アドレスの形式はデータベース全体で一貫していますか? I.それは常に 'アドレス、市、州のzip'ですか? – Catfish
ここで最大の問題はコンテンツのばらつきです。あなたのデータが私が見た他のDBのようなものなら、ほとんどの場合、不正なデータが含まれているものもあれば、そうでないものもあれば、すべてではないものもあります。さらに、コンマで区切られている場合もあれば、時にはそうでない場合もあります。また、アドレスフィールドのデータが別のフィールドと一致しないこともあります。あなたの提案は潜在的に破壊的なものなので、私のアドバイスはあなたがしていることに非常に注意することです。データの一部を完全に失うよりも、それを持つ方がよいでしょう。 – Spudley