这是我的情况 - 我从网上下载了一个大文本表,它是一系列 5 个变量,每行具有固定宽度 - “空格”分隔。
我正在使用 phpMYADMIN 上传数据(过去我已经成功使用逗号分隔的上传),但是这个特殊的表格非常“漂亮”和“易于使用”,我想上传它并了解上传固定宽度的表格到一个分贝。
在网上我发现了一个建议,将固定宽度的表格作为一系列单行上传,然后再用它做一些事情。那是成功的。
所以现在我有一个名为“monolith”的表,它有一列和 90,000 行,每行大约 450 个字符长。
此外,在同一页面上,他们建议在“monolith”表上使用简单的 MySQL 代码,解析每一行,并将这些变量放入目标表中。我玩弄了那个代码,最后决定这样做:
INSERT INTO icd10new
(icd10order, icd10code, icd10header, icd10short, icd10long)
SELECT SUBSTRING(1,5) AS 'icd10order',
SUBSTRING(7,7) AS 'icd10code',
SUBSTRING(15,1) AS 'icd10header',
SUBSTRING(17, 60) AS 'icd10short',
SUBSTRING(78, 255) AS 'icd10long'
FROM monolith;
代码“完成”,但表格要么完全为空(正确的总行数),要么第三个变量填充了“15”。
我已经尝试了带单引号和不带单引号的代码,将所有子字符串放在 VALUE() 中,但似乎没有任何效果。
有人会指出我的错误吗?