将数据插入列

时间:2011-05-13 15:11:53

标签: mysql insert

好吧,我有一个名为id的列,其中包含2000个“ID”,我有一个名为“name”的新添加字段。

我想知道如何插入一个名单列表,以便它们排列到相应的ID?

id ||名称

1 || bob
2 || smith
3 || john
4 || louis
5 || kevin
6 || jacob
7 || tim

我很抱歉没有明白这个问题。 id和name都在同一个表“cards”中。这些卡片在过去添加了其他数据,如描述,颜色等,因此已经生成了相当多的id。我被要求在表格“卡片”中添加一个名称字段,并将电子表格中的数据插入到所述名称字段中。

2 个答案:

答案 0 :(得分:4)

如果您在电子表格中有数据,包含2列,ID和名称,则可以执行以下操作:

在电子表格的第3列中,执行

=CONCATENATE("UPDATE cards SET name = '",A1,"' WHERE id = ",A2,";")

然后将该公式拖到所有行。然后,您可以运行生成的查询。对于2000行,它不应该花费很长时间。

答案 1 :(得分:2)

您需要在ID和名称之间建立已知关系。因此,在使用它来更新表之前,您的名称列表必须包含id。由于必须如此,请创建一个包含id,name的临时表,并使用它来更新主表。 e.g。

CREATE TEMPORARY TABLE tmptable(id INT(10) UNSIGNED PRIMARY KEY, 
                                firstname VARCHAR(20));
LOAD DATA INFILE '/path/to/mynames.txt' INTO tmptable(id, firstname);
UPDATE mytable m JOIN tmptable t ON (m.id=t.id) SET m.firstname=t.firstname;

查看LOAD DATA INFILE语法here