Excel 中的 .csv 文件与 Libre Office 中的 .csv 文件

Excel 中的 .csv 文件与 Libre Office 中的 .csv 文件

我使用 Excel 创建了一个简单的 .csv 文件,如下所示:在此处输入图片描述

我还使用 Libre Office 创建了相同的 .csv 文件。

两个 .csv 文件在 TextEdit 中看起来完全相同:

id, questions
1, Hello World

然而,当我尝试将它们导入 PhpMyAdmin 上的 MySQL 数据库时,发生了一些令人惊讶的事情。后一个文件已正确导入数据库。但当我尝试将前一个文件导入时,我收到以下错误:

Error
Static analysis:

5 errors were found during analysis.

A symbol name was expected! A reserved keyword can not be used as a column name without backquotes. (near "int" at position 46)
At least one column definition was expected. (near "int" at position 46)
Unexpected beginning of statement. (near "1" at position 50)
Unexpected beginning of statement. (near "`question`" at position 54)
Unrecognized statement type. (near "varchar" at position 65)
SQL query:

CREATE TABLE IF NOT EXISTS `Sample`.`TABLE 3` ( int(1), `question` varchar(5), `keywords` varchar(5), `answer` varchar(5)) DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

MySQL said: Documentation

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'int(1), `question` varchar(5), `keywords` varchar(5), `answer` varchar(5)) DEFAU' at line 1

如果我理解正确的话,出现此错误是因为 .csv 文件中第一列的名称是id数据库的保留字。然而,在 Libre Office 中创建的 .csv 文件根本不会出现此错误。

为什么会发生这种情况?

答案1

关于十六进制编辑器的想法@Máté Juhász非常好。

Excel 中的 .csv 文件在十六进制编辑器中显示以下内容:

Ôªøid,name
1,hello

而 Libre Office 中的 .csv 文件显示以下内容:

id,name
1,Hello

显然,我可以像迄今为止一直做的那样使用 Libre Office 完成这项任务;我只是想利用 Excel 中的有用功能。

然而,最后我发现我在 Excel 的默认 .csv 编码中遇到了这个“错误”,CSV UTF-8 (Comma delimited) (.csv) 但如果我更改编码,就不会再遇到它了Comma-Separated Values (.csv)

最后,我要指出的是,我同意@Pimp Juice ITExcel 中 .csv 文件的编码方式就像忘记在数据库中设置表第一列的名称一样。但我想在 Excel 层面找到为什么会发生这种情况的解释。

相关内容