|
|
|
Forum Member
      
участник
Last Login: 15.07.2008 12:02
Сообщ.: 49,
Visits: 544
|
|
Господа перерыл этот форум, прочитал пару доков. MySql чего не слушаеться меня. Ситуация такая. Есть таблица livel2:
CREATE TABLE livel2 (
idUser int(11)NOT NULL auto_increment,
userSurname char(20) default NULL,
userName char(20) default NULL,
userBla char(10) default NULL unique,
userPasswrd char(10) default NULL,
userEmail char(50) default NULL,
userAge int(11) default NULL,
userSex char(6) default NULL,
dataRegistrationchar(100) default NULL,
livel int(11) default 2,
idUpUser int not null,
PRIMARY KEY (idUser)
)
И следущая livel3:
CREATE TABLE livel3 (
idUser int(11)primary keyNOT NULL auto_increment,
userSurname char(20) default NULL,
userName char(20) default NULL,
userBla char(10) default NULL unique,
userPasswrd char(10) default NULL,
userEmail char(50) default NULL,
userAge int(11) default NULL,
userSex char(6) default NULL,
dataRegistrationchar(100) default NULL,
livel int(11) default 3,
idUpUserint not null,
INDEX indxIdUpUser (idUpUser),
FOREIGN KEY (idUpUser) REFERENCES livel2(idUser) ON DELETE SET NULL ON UPDATE CASCADE
)
Значит я тут поставил так что бы нельзя было в таблице livel3 внести запись с несуществуючим idUser с таблицы livel2 и если запись из таблицы livel2 удаляеться(например с livel2.idUser = 1), то в таблице livel3 колонка idUpUser должна быть Null, если она раньше была ровна 1.
Выполняю такой запрос:
delete from livel2 where idUser=1;
А в таблице livel3 все как было так и осталось :(
Господа, как правильно создать внешний ключ и правильно задать действия ограничений ?
Кстати, insert into livel3(idUpUser) values(несуществующий id в таблице livel2); это тоже выполняеться.....:(
www.expressway.it - в италии, так на машине, это все что вам надо
|
|
|
|