Ограничение внешнего ключа неправильно сформировано в MariaDB - PullRequest
0 голосов
/ 06 мая 2018

Это мой sql-код, и каждый раз, когда я выполняю его по команде, он выдает ошибку, может кто-нибудь сказать мне, что я здесь упускаю? Это дает мне Ошибка «Неправильно сформировано ограничение внешнего ключа». Любая помощь будет потрясающей.

Create table course (course_id varchar(8), title varchar(50), dept_name varchar(20), credits numeric(2,0) check (credits > 0), primary key (course_id), foreign key (dept_name) references department on delete set null );

Это справочная таблица:

create table department
    (dept_name      varchar(20), 
     building       varchar(15), 
     budget             numeric(12,2) check (budget > 0),
     primary key (dept_name)
    );

1 Ответ

0 голосов
/ 07 мая 2018

См. Документацию:

Иностранные ключи

...

[CONSTRAINT [symbol]] FOREIGN KEY
    [index_name] (index_col_name, ...)
    REFERENCES tbl_name (index_col_name,...)
    [ON DELETE reference_option]
    [ON UPDATE reference_option]

reference_option:
    RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT

...

Пример:

create table if not exists course (
  course_id varchar(8),
  title varchar(50),
  dept_name varchar(20),
  credits numeric(2,0) check (credits > 0),
  primary key (course_id),
  foreign key (dept_name)
  -- references department on delete set null
  references department (dept_name) on delete set null
);

См. dbfiddle .

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