当我将一个包含 3000 万行的表从文本文件导入到 MYSQL 表时,只用了 1 分钟。然而,我意识到我错过了一个列,我需要将它添加到表中。在 MYSQL 命令行中,我编写了以下命令:
create tableC as(tableA.T1, tableB.ZID from tableA, table B where A.ZID = B.ZID)
已经一个多小时了,命令还没有终止。有谁知道原因?TableB 已经在 MYSQL 服务器中。
不是 100% 肯定,但您最好先更改表并添加列,然后进行更新以填充该列
ALTER TABLE tableB ADD COLUMN colA yourColumnDefinition;
UPDATE tableB SET colA = <however you do it>;
我不完全确定您将列添加到哪个表或如何计算它。根据您发布的查询,您似乎正在创建一个映射表以将两个表的 ID 相互映射。如果是这种情况,您最好将外键放在其中一张表中。
同样,这可能不是您正在寻找的内容,但如果您只想向已创建的表中添加一列,这可能是一种更好的方法。