LOAD INFILE 语法错误
LOAD INFILE syntax error
我一直在尝试不同的方法,有人能找出语法错误吗?
LOAD DATA INFILE '/tmp/projects.csv' INTO TABLE 'projects' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (test, test2, test3, test4, test5, test6, test7, test8, test9, test10, test11, test12, test13, test14, test15, test16, test17, test18, test19, test20, test21, test22, test23);
我已经用单词 test 替换了列的名称,它们基本上是 project_name、project_author 等等。
根据评论中的讨论,您查询了 2 个问题:
- 有一些看不见的角色带来了混乱
- 标识符(table 名称、列名等)必须在反引号周围或反引号内没有任何引号
关于第 1 项,我是如何检测到它的:mysql 解析器从您查询中它无法解析 的位置开始。一旦您的错误消息包含完整的查询但查询的开头看起来有效 - 唯一的解释是还有其他我们看不到但出现在查询中的东西。
关于如何应对 mysql 语法错误的更通用的建议:
只检查解析器错误指向的地方,包括前后几个字符。如果您看不到任何可疑的东西并且语法根据文档是正确的 - 尝试再次手动重新键入它,特别是如果您从某个地方复制它。
我一直在尝试不同的方法,有人能找出语法错误吗?
LOAD DATA INFILE '/tmp/projects.csv' INTO TABLE 'projects' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (test, test2, test3, test4, test5, test6, test7, test8, test9, test10, test11, test12, test13, test14, test15, test16, test17, test18, test19, test20, test21, test22, test23);
我已经用单词 test 替换了列的名称,它们基本上是 project_name、project_author 等等。
根据评论中的讨论,您查询了 2 个问题:
- 有一些看不见的角色带来了混乱
- 标识符(table 名称、列名等)必须在反引号周围或反引号内没有任何引号
关于第 1 项,我是如何检测到它的:mysql 解析器从您查询中它无法解析 的位置开始。一旦您的错误消息包含完整的查询但查询的开头看起来有效 - 唯一的解释是还有其他我们看不到但出现在查询中的东西。
关于如何应对 mysql 语法错误的更通用的建议:
只检查解析器错误指向的地方,包括前后几个字符。如果您看不到任何可疑的东西并且语法根据文档是正确的 - 尝试再次手动重新键入它,特别是如果您从某个地方复制它。