SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 22.04.2010 13:11:16

tytari
Участник
Зарегистрирован: 22.04.2010
Сообщений: 2

Не получается внешний ключ создать, помогите.

Error 1064 (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 '(id_razdel int not null, foreign key (id_razdel) references razdels (id_razdel)' at line 1

писала следующее:
mysql> alter table sclad (
    -> id_razdel int not null,
    -> FOREIGN KEY (id_razdel) REFERENCES razdels (id_razdel)
    -> ON UPDATE CASCADE
    -> ON DELETE RESTRICT
    -> ) ENGINE=InnoDB CHARACTER SET=UTF8;

Неактивен

 

#2 22.04.2010 13:12:26

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Не получается внешний ключ создать, помогите.

Это синтаксис для CREATE TABLE, а не для ALTER TABLE

Неактивен

 

#3 22.04.2010 13:56:52

tytari
Участник
Зарегистрирован: 22.04.2010
Сообщений: 2

Re: Не получается внешний ключ создать, помогите.

когда пробую все тоже самое для create он выдает ошибку 150...

Неактивен

 

#4 22.04.2010 14:18:09

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Не получается внешний ключ создать, помогите.

Что показывает
mysql> show innodb status;
сразу после ошибки 150 ?

Неактивен

 

#5 22.04.2010 18:15:47

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Не получается внешний ключ создать, помогите.

Подозреваю, что нет индекса на razdels(id_razdel). Ну и INDEX(id_razdel)
я бы перед FOREIGN KEY тоже добавил явно.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson