Creé un archivo .csv simple con Excel que se ve así:
También creé el mismo archivo .csv usando Libre Office.
Ambos archivos .csv se ven absolutamente iguales en TextEdit:
id, questions
1, Hello World
Sin embargo, cuando trato de importarlos a la base de datos MySQL en PhpMyAdmin, sucede algo sorprendente. El último archivo se importa correctamente a la base de datos. Pero cuando intento importarle el archivo anterior, aparece el siguiente error:
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
Si lo entiendo bien, este error ocurre porque el nombre de la primera columna en el archivo .csv es id
la palabra reservada para la base de datos. Sin embargo, este error no se produce en absoluto en el caso del archivo .csv que se crea en Libre Office.
¿Por qué está pasando esto?