SQL У вас есть ошибка в вашем синтаксисе - какая у меня синтаксическая ошибка? - PullRequest
0 голосов
/ 07 ноября 2019

Я использую инструментальные средства mysql для выполнения базовых запросов, которые должны позволить мне создать новую таблицу в моей базе данных. Код, который я пытаюсь запустить:

DROP TABLE IF EXISTS airbnb.neighborhood;
CREATE TABLE airbnb.neighborhood (
    nbh_id INT PRIMARY KEY NOT NULL,
    nbh_name VARCHAR(45) NOT NULL,
);

Полученная ошибка:

Error Code: 1064. You have an error in your SQL syntax; check the manual that c....

Я не вижу здесь никакой синтаксической ошибки, но она дает мне красныйстрока под «СОЗДАТЬ».

Там написано

) is not valid at this point. Expecting an identifier

Я проверил другие вопросы / статьи SO с этим сообщением, но все они говорят о решении различных синтаксических ошибок, поэтому мне не очень помогли.

Пожалуйста, помогите, и большое спасибо за вашу помощь!

Ответы [ 3 ]

0 голосов
/ 07 ноября 2019
CREATE TABLE airbnb.neighborhood 
(nbh_id INT PRIMARY KEY NOT NULL
,nbh_name VARCHAR(45) NOT NULL
,
);

Теперь ошибка очевидна

0 голосов
/ 07 ноября 2019
CREATE TABLE airbnb.neighborhood ( 
    nbh_id INT NOT NULL, 
    nbh_name VARCHAR(45) NOT NULL, 
    PRIMARY KEY (nbh_id) 
);
0 голосов
/ 07 ноября 2019

Вам нужна точка с запятой в конце строки DROP TABLE, т.е.

DROP TABLE IF EXISTS airbnb.neighborhood;
CREATE TABLE ....

Это связано с тем, что DROP TABLE и CREATE TABLE являются двумя отдельными операторами SQL. Точка с запятой отмечает конец первого оператора и позволяет начать второй.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...