0
我有超過8.000.000產品在一個大的MySQL數據庫
大mysql數據庫此時列「產品名稱」可以包含例如「Tag_Heuer觀看‘先行先試’的價值觀從現場刪除奇怪的字符(紅)」
我有幾百萬行的非AZ和0-9字符在產品名稱字段
我想刪除所有奇怪的字符在這一領域剛剛離開AZ和0-9和spaeces。所以在這個例子中,我希望這個字段是'Tag_Heuer Watch pilot red'。
Offcourse我可以遍歷所有行的連接str_replace函數具有以下功能領域:
<?php
function stripJunk($string){
$string = preg_replace("/[^a-zA-Z0-9]/", " ", $string);
$string = preg_replace("/\s{2,}/"," ",$string);
$string = trim($string);
return $string;
}
?>
但是,這需要幾個小時:-(
什麼是做到這一點大概在1最好最快的方法使用限制從SQL查詢?
可能重複的[如何在MySQL中執行正則表達式替換?](http://stackoverflow.com/questions/986826/how-to-do-a-regular-expression-replace-in-mysql ) – Denis
最好是直接處理數據庫數據,而不是通過PHP檢索數據,然後再發回。你花費了很多資源。嘗試使用單個UPDATE語句更新數據庫,而不是使用一個查詢來記錄所有記錄。限制你想要更新的行,因爲8M記錄太多了! –