@101010101010

Как исправить ошибку в SQL синтаксисе REFERENCES?

CREATE TABLE org (
ogr_id INT not null primary key ,
identifier VARCHAR ( 25 ) not null UNIQUE
);
CREATE TABLE person (
p_id INT not null auto_increment primary key , 
p_name VARCHAR ( 25 ) not null ,
p_login VARCHAR ( 15 ) not null ,
password VARCHAR ( 15 ) not null , 
org INT not null ,
FOREIGN  KEY org REFERENCES org ( org_id )
ON UPDATE CASCADE 
ON DELETE CASCADE ,
UNIQUE (org_id, p_login , password ) 
)

появляется такая ошибка
Error code 1064, SQL state 42000: 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 'REFERENCES org ( org_id )
ON UPDATE CASCADE
ON DELETE CASCADE ,
UNIQUE (org_id,' at line 7

уже не один час потратил , не могу разобраться, в чём дело.
  • Вопрос задан
  • 2858 просмотров
Решения вопроса 1
metamorph
@metamorph
Во-первых, org_id у Вас в этой таблице нет, так что UNIQUE (org_id) выдаст ошибку.
Во-вторых,

CREATE TABLE person (
p_id INT not null auto_increment primary key , 
p_name VARCHAR ( 25 ) not null ,
p_login VARCHAR ( 15 ) not null ,
password VARCHAR ( 15 ) not null , 
org INT not null REFERENCES org ( org_id ) ON UPDATE CASCADE ON DELETE CASCADE ,
UNIQUE (org, p_login , password ) 
)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
IgorO2
@IgorO2
73
ошибка в синтаксисе =)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы