簡體   English   中英

用另一個表中的數據替換MySQL表中的數據

[英]Replace data in MySQL table with data from another table

我正在嘗試修改現有的MySQL數據庫以在新應用程序中使用。 我有一個項目表(table_items),其中有多個字段,包括“ ItemID”和“ ItemName”。 我有另一個表(table_list),其中有“ ItemName”,但沒有ItemID。 我需要更新此表以包含ItemID而不是ItemName,或者創建一個新表,當table_list.ItemName = table_items.ItemName時,該表從table_items導入ItemID,而不是ItemName。

我嘗試了以下操作:更新table_list A,table_items B SET A.ItemName = B.ItemID WHERE A.ItemName = B.ItemName

當前表有超過500,000行,每次我在PHPMyAdmin中嘗試此操作時,都會收到錯誤“ MySQl服務器已消失”。

任何幫助,不勝感激。

停止mysql服務,在/etc/etc/my.cnf mysql目錄)中找到文件my.cnf ,打開它並找到可能設置為1MB的變量max_allowed_packet ,將其更改以適應您的需要。

另外,代替此:

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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM