从 MySQL 导出数据时,我几乎总是指定 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
因为结果是在 Excel 中打开的(它处理逗号分隔值比制表符分隔值更好)。
有没有办法(编译选项/模糊设置)设置","
作为使用 INTO OUTFILE
时的字段终止符和 LOAD DATA INFILE
避免为每个查询都写上面的内容?
最佳答案
在你的命令中明确表达从来都不是坏事,尤其是对于应用程序(和开发人员!)的可移植性——想象一下,新手开始开发你的项目,却没有意识到它依赖于定制的 MySQL 二进制文件。
在 MySQL Community Server 的最新普遍可用 (GA) 版本 5.5.28(撰写本文时)中,默认值被硬编码到 sql/sql_class.cc
中。 :
<a href="http://fossies.org/dox/mysql-5.5.28/sql__class_8cc_source.html#l02074" rel="noreferrer noopener nofollow">2074</a>: static <a href="http://fossies.org/dox/mysql-5.5.28/classString.html" rel="noreferrer noopener nofollow">String</a> default_line_term("\n",<a href="http://fossies.org/dox/mysql-5.5.28/my__sys_8h.html#a6fe5765f3b92d4dadad6f28e56957899" rel="noreferrer noopener nofollow">default_charset_info</a>);
<a href="http://fossies.org/dox/mysql-5.5.28/sql__class_8cc_source.html#l02075" rel="noreferrer noopener nofollow">2075</a>: static <a href="http://fossies.org/dox/mysql-5.5.28/classString.html" rel="noreferrer noopener nofollow">String</a> default_escaped("\\",<a href="http://fossies.org/dox/mysql-5.5.28/my__sys_8h.html#a6fe5765f3b92d4dadad6f28e56957899" rel="noreferrer noopener nofollow">default_charset_info</a>);
<a href="http://fossies.org/dox/mysql-5.5.28/sql__class_8cc_source.html#l02076" rel="noreferrer noopener nofollow">2076</a>: static <a href="http://fossies.org/dox/mysql-5.5.28/classString.html" rel="noreferrer noopener nofollow">String</a> default_field_term("\t",<a href="http://fossies.org/dox/mysql-5.5.28/my__sys_8h.html#a6fe5765f3b92d4dadad6f28e56957899" rel="noreferrer noopener nofollow">default_charset_info</a>);
如果您正在考虑编译自定义二进制文件,您可以创建自己的分支。
关于mysql - 导出/导入时设置字段终止符的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13859619/