试图导入maridadb中的数据,我的数据看起来就像
"20220910SATURDAY“"20220911MON”"20220912TUE“"20220913THUR”
表示数据。我的数据库结构列是:列1:年份,列2:月,列3:天,列4:DayInLetters。需要定义一个配置,就像在前4行一样,从0到3是年份字段,4-5是星期一,6-7是日期,8-最后是DayInLetters。有什么解决办法吗?
发布于 2022-09-10 10:38:59
这是负载数据信息的工作。由于输入文件中的字段没有用逗号、制表符或类似符分隔,所以需要使用一个不常见的特性输入预处理。
将此SQL语句提供给命令行mysql客户端将有效。
LOAD DATA INFILE '/tmp/data.txt' INTO TABLE tbl (@line)
SET year = SUBSTRING(@line, 1, 4),
month = SUBSTRING(@line, 5, 2),
day = SUBSTRING(@line, 7, 2),
day_in_letters = SUBSTRING(@line, 9);这将将命名文件的每一行依次加载到一个临时变量@line中,然后为每一列提取一个子串。
但是,Pro提示,将日历日期放入日期列(或时间戳或日期时间列)而不是设计自己表示日历日期的方法是更好的数据设计实践。MariaDB和MySQL都有全面的、完全调试的数据算术特征。
https://stackoverflow.com/questions/73670905
复制相似问题