SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 29.11.2009 21:58:26

kiligin
Завсегдатай
Зарегистрирован: 28.11.2009
Сообщений: 48

Помогите со связями таблиц!!!

Есть две таблицы:
create table word
(
idword     int(11)        primary key auto_increment,
word        varchar(20)     not null,
video        varchar(200)    not null,
image        varchar(200)
);

и

create table comparison
(
idword    int(11)    not null,
idexample    int(11)    not null,
primary key (idword, idexample),
foreign key (idword) references word (idword) on update cascade on delete cascade,
foreign key (idexample) references example (idexample) on update cascade on delete cascade
);

Проблема в том, что когда удаляю запись из word вопреки моим ожиданиям из таблицы comparison ничего не удаляется.(( Что не так???
Версия mysql 4.0.12-nt

Отредактированно kiligin (30.11.2009 10:45:54)

Неактивен

 

#2 01.12.2009 15:01:14

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

Re: Помогите со связями таблиц!!!

Подозреваю, что таблицы MyISAM. Также учтите, что в 4.0 InnoDB был
чрезвычайно полон ошибок, что тоже может сказаться. обновляйтесь до
5.0 смело, а лучше сразу думать о 5.1.

Неактивен

 

#3 03.12.2009 21:30:46

kiligin
Завсегдатай
Зарегистрирован: 28.11.2009
Сообщений: 48

Re: Помогите со связями таблиц!!!

установил 5.1 проблема не исчезла... можно конечно вручную это делать, но зачем тогда связи в мускуле?

Неактивен

 

#4 03.12.2009 22:08:28

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

Re: Помогите со связями таблиц!!!

У вас точно таблицы InnoDB?

Неактивен

 

#5 04.12.2009 03:47:04

kiligin
Завсегдатай
Зарегистрирован: 28.11.2009
Сообщений: 48

Re: Помогите со связями таблиц!!!

как это определить???
при создании бд ничего лишнего не писал типа engine и все остальное... думаю что все по умолчанию стоит.

Неактивен

 

#6 04.12.2009 09:22:13

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

Re: Помогите со связями таблиц!!!

MyISAM не поддерживают внешние ключи. ALTER TABLE tablename ENGINE=InnoDB
Вас должен спасти.

Неактивен

 

#7 04.12.2009 12:49:49

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

Re: Помогите со связями таблиц!!!

kiligin написал:

как это определить???

SHOW CREATE TABLE tablename;

Неактивен

 

#8 04.12.2009 14:32:07

kiligin
Завсегдатай
Зарегистрирован: 28.11.2009
Сообщений: 48

Re: Помогите со связями таблиц!!!

Engine = MyISAM... спасибо за совет! обязательно попробую, отпишу!

Неактивен

 

#9 07.12.2009 01:36:34

kiligin
Завсегдатай
Зарегистрирован: 28.11.2009
Сообщений: 48

Re: Помогите со связями таблиц!!!

vasya и paulus, спасибо за подсказ! работает! респектую!

Неактивен

 

Board footer

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