2011-08-09 55 views
1

想知道更新整個(大型)數據庫的最佳方式是什麼。更新Mysql數據庫的最快方法

Bascially我繼承了一個有字符問題的數據庫,有一些幫助我對未來(正在編寫的)字符問題進行排序,但現有數據需要清理。

有一個很好的建議,我可以使用utf_decode來清理所有這些 - 我已經嘗試過在頁面本身的錯誤值(當拉入時),它的效果很好。

由於似乎有很多表和大量數據,使用utf_decode掃描整個數據庫中的所有數據的最佳/最快捷的方法是什麼?

感謝

感謝您的意見,我似乎無法直接評論,以便下探的消息在這裏 - 我將不得不通過外觀和給他們去!謝謝。

回答

1

獲取的所有數據,將其轉換並插入它:

INSERT INTO table VALUES (id, text) 
(1, 'utf8'), (2, 'utf8'), (3, 'utf8') 

去更快然後做一個PHP循環多INSERT查詢。

編輯:

如果你用一個漂亮的數組,你可以運行平穩系統,要做到這一點:

$arr = array('users' => array('user_id', 'text', 'username', 'first_name'))); 

foreach(array_keys($arr) as $h) { 
    $query = mysql_query("SELECT * FROM {$h}"); 
    while($row = mysql_fetch_object($query)) { 
     // Loop thingies, utf8_decode then and stuff 
    } 
    // Then implode them nicely and use above query 
} 

告訴我,如果你需要更多的代碼示例。

+0

@mro:請將您的代碼添加到問題中,而不是回答。 –

相關問題