- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试加载一个文件,其中所有行都使用相同的规则。 (假设 HEADER 是单行)
HEADER1
HEADER2
.......
但不幸的是,当我尝试使用 LOAD DATA INFILE 语句时出现此错误:错误代码:1409无法将具有固定大小行的文件中的值加载到变量。
这是我写的代码:
USE test;
DROP TABLE IF EXISTS EXAMPLE_H;
CREATE TABLE EXAMPLE_H(
ID CHAR(20),
SP CHAR(3),
IVA CHAR(11) PRIMARY KEY,
NLP CHAR(6),
DLP DATE,
DUVI DATE,
DELP CHAR(30),
FILLER CHAR(39),
VTLP CHAR(3),
FILL CHAR(49)
);
LOAD DATA INFILE 'BTILSP.TXT'
INTO TABLE test.EXAMPLE_H
FIELDS TERMINATED BY ''
LINES TERMINATED BY '\n'
(ID, SP, IVA, NLP, @var_date_one, @var_date_two, DELP, FILLER, VTLP, FILL)
SET DLP = str_to_date(@var_date_one, '%Y%m%d',
DUVI = str_to_date(@var_date_two, '%Y%m%d');
我在阅读 this page 的底部时有了这个想法。 (Ramam Pullella 的评论),我在一些网站上发现了同样的解释,但我不明白为什么我会收到这个错误。
如果我不使用@var_date_one 和@var_date_two 变量以及 STR_TO_DATE 函数,则日期不会按照 MySql 的需要呈现 - 文件中的日期类似于“20100701” - 那么该字段将包含全为零或与我预期的日期不同。如果我将 DLP 和 DUVI 更改为由 CHAR(8) 表示,那么它可以工作,但我不会使用 SQL DATE 比较和类似工具。
你能帮帮我吗? :)非常感谢。
编辑:
问题似乎是由 LINE TERMINATED BY '' 给出的,因为这种行是“固定行(未定界)”。也许由于未知原因无法将其分配给变量,但它就是这样工作的。文档说:
User variables cannot be used when loading data with fixed-row format because user variables do not have a display width.
有什么建议吗?
重新编辑:我已阅读该页面底部 Ryan Neve 的评论。他给出了一个将固定行读入变量的技巧:
LOAD DATA LOCAL INFILE '<file name>' INTO TABLE <table>
(@var1)
SET Date=str_to_date(SUBSTR(@var1,3,10),'%m/%d/%Y'),
Time=SUBSTR(@var1,14,8),
WindVelocity=SUBSTR(@var1,26,5),
WindDirection=SUBSTR(@var1,33,3),
WindCompass=SUBSTR(@var1,38,3),
WindNorth=SUBSTR(@var1,43,6),
WindEast=SUBSTR(@var1,51,6),
WindSamples=SUBSTR(@var1,61,4);
你觉得这样做好吗? :)
最佳答案
我不是专家,但在我看来,如果字段以空字符串结尾,那么它们必须是固定大小的;必须有一些方法来确定字段之间的边界,如果没有终止符,那么它们几乎必须是固定大小。
我观察到 MySQL 5.5手册说:
- User variables cannot be used when loading data with fixed-row format because user variables do not have a display width.
它还(在页面的较早部分)说:
- If the FIELDS TERMINATED BY and FIELDS ENCLOSED BY values are both empty (''), a fixed-row (nondelimited) format is used. With fixed-row format, no delimiters are used between fields (but you can still have a line terminator). Instead, column values are read and written using a field width wide enough to hold all values in the field. For TINYINT, SMALLINT, MEDIUMINT, INT, and BIGINT, the field widths are 4, 6, 8, 11, and 20, respectively, no matter what the declared display width is.
由于您的语句没有“FIELDS ENCLOSED BY”和空的“FIELDS ENCLOSED BY”,这就是您具有固定格式的原因。因此你不能随心所欲。
有时,在 DBMS 之外处理数据更容易 - 修复数据表示可能就是这样一种操作。我确实有一个我称为 DBLDFMT 的程序,我已经好几年没用过了,但它可以执行各种操作,例如转换带有隐式小数点的十进制数(大型机技巧;价格字段可能是 0023199,代表值(value) 231.99 英镑)。它也可以处理日期操作(不一定使用特别用户友好的表示法,但它能够处理我将数据从大型机获取到 Unix DBMS - 而不是 MySQL 时遇到的问题;当我写这篇文章时它不存在代码。如果有任何兴趣,请与我联系 - 查看我的个人资料。
关于sql - MySQL : how to load data with fixed-row format into user variables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4258190/
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 3年前关闭。 Improve thi
有人知道可以在线使用 FIX 实用程序来验证修复消息吗?即:接受修复消息并检查诸如正文长度和校验和之类的内容。谢谢 最佳答案 https://fixspec.com 上有一个修复日志解码器.当您输入一
在FIX服务器上发送订单请求并更改标签的顺序。 如果我想要输出由我安排的序列(而不是被服务器修改)。 public void send50(Order order) { quickfix.fi
我正在用 C++ 构建一个 FIX 引擎,但我没有引用来了解什么是好的性能数字。考虑到网络时间和 FIX 解析时间,客户端向服务器发送 FIX 消息的最佳时间(以微秒为单位)是多少?还有人知道这个简单
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求提供代码的问题必须表现出对所解决问题的最低限度理解。包括尝试过的解决方案、为什么它们不起作用,以及
我不明白为什么我的固定背景开始出现,因为它有时没有被固定。 这是一个非常特殊的案例,我知道如何解决它。 您可以删除: .row2 position:relative 或 row1 div -webki
我看过三列的例子(fixed fluid fixed)。但是,我需要一个四列解决方案的示例。 两个外部列是固定的。两个内柱是流动的。 固定 |流体 |流体 |固定 最佳答案 您可以使用 calc .
我试图说服自己输入 Fix和功能 fix是一回事。 但我找不到他们的定义之间的相关性 -- definition of fix fix :: (p -> p) -> p fix f = let {x
这是我已经在这里提出的另一个问题的后续How can I play a single tone or custom wave with Delphi? 长话短说,我使用 MMSystem 的 wave
刚刚完成一个站点并遇到位置问题:已在 IE7 上修复。我用谷歌搜索并尝试了不同的 Doctypes,但固定区域在 IE7 上仍然不在位。 我没有 IE7,但一位客户员工有,我可以使用在线 IE 渲染器
我有我的 设置为 background-attachment: fixed但这留下了我的标签正常滚动。如果我设置 position: fixed到我的标签,它们会跳转到页面顶部。有什么办法可以做与 b
我有一个包含标题页(导航栏)的 php 页面。我想将导航栏显示为固定标题,但每当将其位置更改为固定时,它都会删除滚动条(水平和垂直)并且我无法滚动页面。如果我想保持我的标题固定并且我不想固定位置。我怎
已结束。此问题不符合 Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是无关紧要的,
我正在使用 jquery mobile,对于页眉/页脚,我使用的是 data-position="fixed"。 但是,当我们滚动页面时......页眉页脚消失并在滚动停止时重新出现.. 有没有一种方
我正在尝试连接到使用 FIX 5.0 的代理 我想利用 quickfixj以方便和快速地实现。 这行吗?我假设 5.0 extends(可以这么说)以前版本的功能,但我不想走得太远,结果导致更多问题,
如何放置 position:fixed内容在页面背景中的容器,而其他内容在其上滚动,同时仍然保持点击背景元素的能力? 效果类似于前景内容在固定背景上滚动的视差滚动情况,但我希望能够将 HTML 放在背
我尝试将 z-index 设置为 body 下的某些位置为 fixed 的元素 示例如下: HTML menu content ....
我花了几个小时寻找这个问题的答案,但其他人提供解决方案的场景似乎比我的稍微简单一些。 有没有办法在固定大小的 div 中放置一个 position:fixed 元素,而该元素不会溢出 div? 换句话
此问题已在 SO 和其他地方多次报告,但我找不到任何有效的解决方案。 如果您有固定位置的 div 和固定附加的背景,在某些特定情况下,在 Google Chrome 上呈现会出现错误(在 Firefo
我想在我网站的页面顶部创建一个标题栏,但我在布局方面遇到了问题。以下是我想要的结果: goal http://ambiguities.ca/images/goal.png 这是 html:
我是一名优秀的程序员,十分优秀!