使用PHP在MySQL中导入CSV文件(更新)
我有一个带有ID和大小字段的CSV文件-ID不在所有行中-仅在第一行(见下文): 我需要在MySQL数据库中使用两列重复的密钥更新记录-ID和大小:使用PHP在MySQL中导入CSV文件(更新),mysql,csv,Mysql,Csv,我有一个带有ID和大小字段的CSV文件-ID不在所有行中-仅在第一行(见下文): 我需要在MySQL数据库中使用两列重复的密钥更新记录-ID和大小: ID SIZES --------------------- ID1 40;41;42;43 ID2 26;27 ID3 34;35;36;37;38;39 一个ID的所有大小都在一个值/字段中 创建一个将数据导入的表 CREATE TABLE my_table ( id VARCHAR(15) NOT NULL,
ID SIZES
---------------------
ID1 40;41;42;43
ID2 26;27
ID3 34;35;36;37;38;39
一个ID的所有大小都在一个值/字段中
CREATE TABLE my_table (
id VARCHAR(15) NOT NULL,
size INT UNSIGNED NOT NULL,
PRIMARY KEY(id, size)
);
ID
列的不重复
SET @old_id := NULL;
LOAD DATA INFILE '/path/to/file.csv'
INTO my_table
FIELDS
TERMINATED BY ';'
(@new_id, size)
SET id = (@old_id := IF(CHAR_LENGTH(TRIM(@new_id))>0, @new_id, @old_id))
;
SELECT id, GROUP_CONCAT(size SEPARATOR ';') AS sizes
FROM my_table
GROUP BY id;
SELECT id, GROUP_CONCAT(size SEPARATOR ';') AS sizes
FROM my_table
GROUP BY id;