Что не так с синтаксисом этой команды SQL

Сколько ни смотрю, не могу найти ошибку. Я поместил его в онлайн-проверку синтаксиса, и он сказал, что ошибка была в конце строки.

CREATE TABLE employee (
emp_ID      INT             (30) NOT NULL, 
position        VARCHAR     (30) NOT NULL, 
emp_FName   VARCHAR     (30) NOT NULL,
emp_LName   VARCHAR     (30) NOT NULL, 
ohip        VARCHAR     (15) NOT NULL, 
home_Phone  INT         (15), 
start_Date  DATE, 
team_ID INT             (30) NOT NULL,  

Constraint     employee_emp_ID_PK       Primary Key (emp_ID),
Constraint     employee_team_ID_FK      Foreign Key (team_ID) 

)

Можете ли вы опубликовать ошибку, которую вы получаете?

Manaar 08.04.2019 17:56

Вы указали внешний ключ, не указав таблицу, на которую он ссылается.

Robert Kock 08.04.2019 17:57

@Martin Вы правы, это работает, по крайней мере, с удаленным окончательным ограничением внешнего ключа. Так что, думаю, Гордон снова прав ^ ^

Tim Biegeleisen 08.04.2019 18:02
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
3
47
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Внешний ключ должен на что-то ссылаться. Итак, предположительно:

Constraint employee_team_ID_FK Foreign Key (team_ID) references teams(team_id)

или что-то подобное.

Кроме того, я не уверен, что вы имеете в виду под int(30). Это просто ширина отображения значения, а поскольку целые числа могут состоять только из 10 цифр (ну, 11, если вы включаете отрицательный знак), 30 не имеет смысла.

Для внешнего ключа укажите справочную таблицу и ее первичный ключ.

  CREATE TABLE employee (
    emp_ID      INT              NOT NULL  Primary Key, 
    position    VARCHAR     (30) NOT NULL, 
    emp_FName   VARCHAR     (30) NOT NULL,
    emp_LName   VARCHAR     (30) NOT NULL, 
    ohip        VARCHAR     (15) NOT NULL, 
    home_Phone  INT          , 
    start_Date  DATE, 
    team_ID INT              NOT NULL FOREIGN KEY REFERENCES reftable(ID),  

     )

Другие вопросы по теме