, аналогично на удалении каскада, не работающих в MySQL , но что-то не имеет права:
-- test delete cascade
CREATE TABLE t1(
id SERIAL PRIMARY KEY,
data TEXT
);
CREATE TABLE t2(
id INT PRIMARY KEY REFERENCES t1(id) ON DELETE CASCADE,
data2 TEXT
);
INSERT INTO t1 VALUES(1, 'one');
INSERT INTO t2 VALUES(1, 'first');
DELETE FROM t1;
SELECT * FROM t2; -- should have not rows - have one!
Используйте это все время В Postgres, но по какой-то причине не может попасть в MySQL.
Я медленно учитесь, есть стандарт ANSI, Postgreql путь, и есть MySQL. Каждый раз, я думаю, что я несколько ценил Разница, я не приблизился.
CREATE TABLE `t2` (
`id` BIGINT(20) UNSIGNED NOT NULL,
`data2` TEXT,
PRIMARY KEY (`id`),
CONSTRAINT `FK_t2_1` FOREIGN KEY (`id`) REFERENCES `t1` (`id`) ON DELETE CASCADE
) ENGINE = InnoDB DEFAULT CHARSET = latin1;
мне, код, который у меня есть, это стандарт ANSI, имеет смысл, имеет смысл, и это (насколько SQL идет) эстетически приятные, тогда как мой путь MySQL (Спасибо за помощь!) Напоминают мне о Visual Basic или что-то-то - это действительно безобразно, как грех, и ИМХО неправильно попросить разумных людей, чтобы высказать себя, чтобы написать такую вещь.
Я прошу прощения, если прошу прощения, и справедливо заслуживаю какого-либо числа отрицательных рейтингов. Вы, ребята, которые пишут этот код с легкостью, оказывают мое большое уважение. Я просто ненавижу видеть такого рода бессмысленного наказания, нанесенного друзьями; -)