mysql - 导出/导入时设置字段终止符的默认值

标签 mysql

从 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/

相关文章:

php - 如何将逗号后 10 位小数舍入为仅 3 位小数

mysql 日期时间比较查询语法对我不起作用

MySQL 触发器在一个表上工作,但在另一个表上不工作

mysql - 如何为 MySQL 中的每个新人分配重新启动的自动递增 ID?

android - 将 MYSQL 连接到 Android studio

python - 如何将字符串变量插入到这个长Python SQL字符串中?

MySQL 游标不适用于存储过程

java - JpaRepository 查找或创建用户角色返回 null 并给出错误

MySql Match() Against() 返回包含单词的所有行

php - 覆盖外连接失败的记录的默认值