ERROR 1064 в MySQL Workbench при создании таблицы

439
20 января 2017, 07:11

Цель была: продолжить работу над проектом на языке Java, в котором используется база данных.
Ход действий:
1. Установка MySQL Community Server и IntellJ IDEA.
2. Создание в MySQL Workbench тестовой схемы и создание там тестовой таблицы. Все прошло успешно.
3. Настройка IDE с БД.
4. Импорт дампа БД в MySQL Workbench.
5. Импорт проекта на Java в IDE.
6. Компиляция проекта и запуск, проверка работы приложения с БД. Прошло успешно.
7. Попытка создать новую таблицу рядом с уже существующими, получение ошибки:

Operation failed: There was an error while applying the SQL script to the database.
Executing:
CREATE TABLE test.new_table ( );

ERROR 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 2
SQL Statement:
CREATE TABLE test.new_table ( )

8. Создание новой тестовой схемы, не касающейся проекта, попытка создать там тестовую таблицу. Также ошибка та же.

В чем может быть проблема? Операции просмотра записей в таблицах, добавление новой записи происходят без проблем.

Answer 1

По факту всё написано в ответе MySQL.

У Вас ошибка в синтаксисе.

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 2

Для наглядности я решил протестировать Ваш запрос и воспроизвести ошибку...и да!..она абсолютно аналогична Вашей.

В ошибке говорится что, что-то не так у вас возле закрывающей скобочки и что Вам нужно сверить Ваш запрос с документацией.

Вопрос: Что же может там быть?

Идём в документацию и смотрим синтаксис запроса CREATE:

CREATE TABLE table_name
(
column_name1 data_type(size),
column_name2 data_type(size),
column_name3 data_type(size),
....
);

Из него видно что MySQL ожидает, что между скобками будет описание полей таблицы, которых нет и это он считает ошибкой.

Попробуем добавить поле:

CREATE TABLE `test`.`new_table` (
  `id` INT NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`)
);

И всё отлично работает!

Вам нужно добавить описание полей в запрос.

Ваш запрос неверный.

По поводу создания схемы могу сказать только одно:

Дайте Ваш запрос и сообщение об ошибке!

Я подозреваю, что ответ находится именно в них!

Учитесь читать сообщения об ошибках! Как правило они отражают суть проблемы.

READ ALSO
Символы в названии объектов в Java

Символы в названии объектов в Java

Объекты в Java могут именоваться со знака подчеркивания, знака доллара и буквИменование запрещено с цифр, зарезервированными и ключевыми словами...

300
Непонятен паттерн Filter в Java

Непонятен паттерн Filter в Java

Доброго времени суток, досталось мне задание, в котором нужно использовать паттерн FilterНо гугл мне свет так и не пролил на то, как с ним работать...

265