Ich habe mit Excel eine einfache CSV-Datei erstellt, die so aussieht:
Dieselbe CSV-Datei habe ich auch mit Libre Office erstellt.
Beide .csv-Dateien sehen bei TextEdit absolut gleich aus:
id, questions
1, Hello World
Wenn ich jedoch versuche, sie unter PhpMyAdmin in die MySQL-Datenbank zu importieren, passiert etwas Überraschendes. Die letztere Datei wird ordnungsgemäß in die Datenbank importiert. Aber wenn ich versuche, die vorherige Datei zu importieren, erhalte ich die folgende Fehlermeldung:
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
Wenn ich es richtig verstehe, tritt dieser Fehler auf, weil der Name der ersten Spalte in der CSV-Datei id
ein reserviertes Wort für die Datenbank ist. Trotzdem tritt dieser Fehler bei der in Libre Office erstellten CSV-Datei überhaupt nicht auf.
Warum passiert dies?