好吧,我有一个名为id的列,其中包含2000个“ID”,我有一个名为“name”的新添加字段。
我想知道如何插入一个名单列表,以便它们排列到相应的ID?
1 || bob
2 || smith
3 || john
4 || louis
5 || kevin
6 || jacob
7 || tim
我很抱歉没有明白这个问题。 id和name都在同一个表“cards”中。这些卡片在过去添加了其他数据,如描述,颜色等,因此已经生成了相当多的id。我被要求在表格“卡片”中添加一个名称字段,并将电子表格中的数据插入到所述名称字段中。
答案 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。