2010-04-04 76 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);