2010-04-04 42 views
1

我試圖修改使用現有的MySQL數據庫中的新應用程序替換數據在MySQL表中的數據。 我有項目(table_items)的一個表,該表具有多個字段,包括「項ID」和「ITEMNAME」。 我有另一個表(table_list),其中有「ITEMNAME」在裏面,但沒有項目ID。我需要或者更新此表包含項目ID,而不是ITEMNAME,或創建新表從table_items進口ItemIDs而不是在ITEMNAME時table_list.ItemName = table_items.ItemName。從另一個表

我曾嘗試以下: UPDATE table_list A,table_items乙 SET A.ItemName = B.ItemID WHERE A.ItemName = B.ItemName

當前表有超過50萬行,我每次嘗試在PHPMyAdmin中,我得到錯誤「MySQl服務器已經消失」。

任何幫助非常感謝。

回答

0

停止MySQL服務,定位/etc/etc/my.cnf mysql目錄)的文件my.cnf,打開它,找到變量max_allowed_packet這可能是設置爲1MB,將其更改爲滿足您的需求。

此外,而不是這樣的:

UPDATE table_list A, table_items B SET A.ItemName = B.ItemID WHERE A.ItemName = B.ItemName

試試這個:

UPDATE table_list A SET ItemName = (SELECT ItemID FROM table_items B WHERE A.ItemName = B.ItemID);