使用加载数据本地内文件
num 列 存储每 6 位数字
如何参数化加载命令以迭代数组?
Mysql版本8.0.23
在文件文本中
1 3AB1001AB1002AB1003
表A
id | cnt | 数字 |
---|---|---|
1 | 3 | AB1001AB1002AB1003 |
我想要像这样的表的输出
表B
id | cnt | 数字 |
---|---|---|
1 | 3 | AB1001 |
1 | 3 | AB1002 |
1 | 3 | AB1003 |
您可以使用触发器将表“a”中的一行拆分为“b”的 3 行。 触发如下:
`CREATE TRIGGER triger1 AFTER INSERT ON a FOR EACH ROW BEGIN
SET @i = 0;
REPEAT
SET @part = SUBSTRING(NEW.num, 1 + @i*6, 6);
INSERT INTO b VALUE(NEW.id, NEW.cnt, @part);
SET @i = @i + 1;
UNTIL @i = NEW.cnt
END REPEAT;
END;`
在使用 LOAD DATA LOCAL INFILE 插入数据之前,必须在表“a”上创建触发器。 问候。