1

我有包含超过 50000 条记录的 txt 文件。这 4 条记录(pid、#_pro_used、notused、selected)与制表符空间分开。我想将这些记录插入到有 5 列(索引、pid、#_pro_used、 notused,selected)..额外的一个(索引)列应该是包含记录计数的主键。

我用过这个命令..但它不起作用。

  LOAD DATA LOCAL INFILE 'D:/temp.txt' INTO TABLE temp_table    (COUNT(pid),pid,#_pro_used,notused,selected);

这可能吗?或者我应该去触发?

4

1 回答 1

3

您不能使用 COUNT(pid) 来计算插入的条目数。创建一个具有自动增量列的表并跳过“COUNT(pid)”部分,因此:

CREATE TABLE temp_table (
  idx INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  pid ...
  pro_used ...
  notused
  selected
);

LOAD DATA LOCAL INFILE 'D:/temp.txt'
INTO TABLE temp_table (pid,pro_used,notused,selected);

请注意:您有一个名为“notused”的列,我假设您想忽略它。您可以在这里使用用户定义的变量,然后将数据丢弃:

LOAD DATA LOCAL INFILE 'D:/temp.txt'
INTO TABLE temp_table (pid,pro_used,@notused,selected);
于 2013-02-20T18:18:50.073 回答