﻿<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Релиб / MySQL / Базы данных  / Создание внешнего ключа / Latest Posts</title><generator>InstantForum.NET v4.1.4</generator><description>Релиб</description><link>http://www.relib.com/forums/</link><webMaster>robot@relib.com</webMaster><lastBuildDate>Wed, 20 Aug 2008 14:15:37 GMT</lastBuildDate><ttl>20</ttl><item><title>Создание внешнего ключа</title><link>http://www.relib.com/forums/Topic898500-24-1.aspx</link><description>Господа перерыл этот форум, прочитал пару доков. MySql чего не слушаеться меня. Ситуация такая. Есть таблица livel2:&lt;br&gt;[quote]&lt;br&gt;&lt;br&gt; CREATE TABLE livel2 (&lt;br&gt;idUser int(11)NOT NULL auto_increment,&lt;br&gt;userSurname char(20) default NULL,&lt;br&gt;userName char(20) default NULL,&lt;br&gt;userBla char(10) default NULL unique,&lt;br&gt;userPasswrd char(10) default NULL,&lt;br&gt;userEmail char(50) default NULL,&lt;br&gt;userAge int(11) default NULL,&lt;br&gt;userSex char(6) default NULL,&lt;br&gt;dataRegistrationchar(100) default NULL,&lt;br&gt;livel int(11) default 2,&lt;br&gt;idUpUser int not null,&lt;br&gt;&lt;br&gt;PRIMARY KEY (idUser)&lt;br&gt;)&lt;br&gt;&lt;br&gt;[/quote]&lt;br&gt;&lt;br&gt; И следущая livel3:&lt;br&gt;&lt;br&gt;[quote]&lt;br&gt;&lt;br&gt; CREATE TABLE livel3 (&lt;br&gt;idUser int(11)primary keyNOT NULL auto_increment,&lt;br&gt;userSurname char(20) default NULL,&lt;br&gt;userName char(20) default NULL,&lt;br&gt;userBla char(10) default NULL unique,&lt;br&gt;userPasswrd char(10) default NULL,&lt;br&gt;userEmail char(50) default NULL,&lt;br&gt;userAge int(11) default NULL,&lt;br&gt;userSex char(6) default NULL,&lt;br&gt;dataRegistrationchar(100) default NULL,&lt;br&gt;livel int(11) default 3,&lt;br&gt;idUpUserint not null,&lt;br&gt;INDEX indxIdUpUser (idUpUser),&lt;br&gt;FOREIGN KEY (idUpUser) REFERENCES livel2(idUser) ON DELETE SET NULL ON UPDATE CASCADE&lt;br&gt;)&lt;br&gt;&lt;br&gt;[/quote]&lt;br&gt;Значит я тут поставил так что бы нельзя было в таблице livel3 внести запись с несуществуючим idUser с таблицы livel2 и если запись из таблицы livel2 удаляеться(например с livel2.idUser = 1), то в таблице livel3 колонка idUpUser должна быть Null, если она раньше была ровна 1.&lt;br&gt;Выполняю такой запрос:&lt;br&gt;delete from livel2 where idUser=1;&lt;br&gt;А в таблице livel3 все как было так и осталось :( &lt;br&gt;Господа, как правильно создать внешний ключ и правильно задать действия ограничений ?&lt;br&gt;Кстати, insert into livel3(idUpUser) values(несуществующий id в таблице livel2); это тоже выполняеться.....:(&lt;br&gt;</description><pubDate>Sat, 10 Jun 2006 20:08:29 GMT</pubDate><dc:creator>Colin200X</dc:creator></item></channel></rss>