Я создал простой файл .csv с Excel, который выглядит следующим образом:
Я также создал тот же файл .csv с помощью Libre Office.
Оба файла .csv выглядят абсолютно одинаково в TextEdit:
id, questions
1, Hello World
Однако, когда я пытаюсь импортировать их в базу данных MySQL на PhpMyAdmin, происходит нечто удивительное. Последний файл правильно импортируется в базу данных. Но когда я пытаюсь импортировать в него прежний файл, я получаю следующую ошибку:
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
который является зарезервированным словом для базы данных. Тем не менее, эта ошибка не возникает вообще в случае файла .csv, который создается в Libre Office.
Почему это происходит?