TRIGGER (SQL) - Visavi.net
https://visavi.net/
RSS - Visavi.net
https://visavi.net/assets/img/images/logo_small.png
RSS - Visavi.net
https://visavi.net/
[email protected] (admin)
[email protected] (admin)
Sat, 21 Sep 2024 10:51:03 +0300
-
Вопрос решен. Тему можно крыть. <br>
Просто надо было убрать круглые скобки вокруг конструкции delete
https://visavi.net/topics/37591/632325
TRIGGER (SQL)
Момору
Sat, 20 Apr 2013 20:59:14 +0400
Сообщения
https://visavi.net/topics/37591/632325
-
4. <strong>78884115</strong>, <a href="http://upwap.ru/3087672" target="_blank" rel="nofollow">СКРИН ОШИБКИ</a><br>
<br>
<em><span style="font-size:x-small">Добавлено через 03:05 сек.</span></em><br>
<pre class="prettyprint">
DELIMITER $$
CREATE OR REPLACE TRIGGER `tg_foto_dir`
AFTER DELETE ON `ac_foto_dir`
ALTER EACH ROW
BEGIN
IF(SELECT COUNT(*) FROM `ac_foto_file` WHERE `id_dir` = OLD.id LIMIT 1) = 1
THEN (DELETE FROM `ac_foto_file` WHERE `id_file` = OLD.id) END IF;
END $$
DELIMITER;
</pre>
Триггер №2 (Они взаимосвязаны, посему - неразлучны ))<br>
<pre class="prettyprint">
DELIMITER $$
CREATE OR REPLACE TRIGGER `tg_foto_alb`
AFTER DELETE ON `ac_foto_album`
ALTER EACH ROW
BEGIN
IF(SELECT COUNT(*) FROM `ac_foto_album` WHERE `id_album` = OLD.id LIMIT 1) = 1
THEN (DELETE FROM `ac_foto_file` WHERE `id_album` = OLD.id) END IF;
END $$
DELIMITER;
</pre>
Вот, вставил не достающие строки. Но, суть не изменилась, ошибка та-же.
https://visavi.net/topics/37591/632318
TRIGGER (SQL)
Момору
Sat, 20 Apr 2013 20:10:05 +0400
Сообщения
https://visavi.net/topics/37591/632318
-
Загрузи скриншот сюда <a href="http://upwap.ru/upload/" target="_blank" rel="nofollow">http://upwap.ru/upload/</a> а то с депозита мало кто будет его смотреть.
https://visavi.net/topics/37591/632315
TRIGGER (SQL)
Secret
Sat, 20 Apr 2013 20:00:32 +0400
Сообщения
https://visavi.net/topics/37591/632315
-
Собственно сами файлы (снимки)<br>
<pre class="prettyprint">
CREATE TABLE IF NOT EXISTS `ac_foto_file`
(
`id` SERIAL,
`id_user` bigint UNSIGNED NOT NULL DEFAULT '0' COMMENT 'ID автора',
`id_dir` bigint UNSIGNED NOT NULL DEFAULT '0' COMMENT 'ID директории снимка',
`id_album` bigint UNSIGNED NOT NULL DEFAULT '0' COMMENT 'ID фотоальбома',
`time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT 'Время создания',
`time_alter` TIMESTAMP COMMENT 'Время последнего обращения',
`open` set('0', '1', '2') NOT NULL DEFAULT '2' COMMENT 'Возможность комментировать снимок. 2 - разрешено всем, 1 - только друзьям, 0 - запрещено',
`let` set('0', '1') NOT NULL DEFAULT '0' COMMENT 'Файл +18. 1 - да, 0 - нет',
`size` bigint UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Вес снимка',
`type` set('png', 'jpg', 'jpeg', 'gif') NOT NULL COMMENT 'Формат снимка',
`name` varchar(128) NOT NULL DEFAULT '' COMMENT 'Название снимка',
`opis` varchar(5120) NOT NULL DEFAULT '' COMMENT 'Описание снимка',
PRIMARY KEY (`id`),
KEY (`time`, `time_alter`, `open`, `size`, `type`),
FOREIGN KEY (`id_dir`) REFERENCES `ac_foto_dir` (`id`)
ON DELETE RESTRICT ON UPDATE CASCADE,
FOREIGN KEY (`id_album`) REFERENCES `ac_foto_album` (`id`)
ON DELETE RESTRICT ON UPDATE CASCADE
) ENGINE InnoDB CHARACTER SET UTF8 COLLATE utf8_general_ci;
</pre>
Заранее благодарен Вам. Спасибо дорогие, Друзья)<br>
<br>
<em><span style="font-size:x-small">Добавлено через 06:49 сек.</span></em><br>
[URL=http://dfiles.ru/files/sd0parqcn]Скрин ошибки[/URL]
https://visavi.net/topics/37591/632309
TRIGGER (SQL)
Момору
Sat, 20 Apr 2013 18:42:21 +0400
Сообщения
https://visavi.net/topics/37591/632309
-
Таблица фотоальбомов<br>
<pre class="prettyprint">
CREATE TABLE IF NOT EXISTS `ac_foto_album`
(
`id` SERIAL,
`id_user` bigint UNSIGNED NOT NULL DEFAULT '0' COMMENT 'ID автора',
`id_dir` bigint UNSIGNED NOT NULL DEFAULT '0' COMMENT 'ID директории',
`time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT 'Время создания',
`time_alter` TIMESTAMP COMMENT 'Время последнего обращения',
`open` set('0', '1', '2') NOT NULL DEFAULT '2' COMMENT 'Возможность просмотра снимков альбома другими пользователями. 2 - разрешено всем, 1 - только друзьям, 0 - запрещено всем',
`pass` varchar(24) NOT NULL DEFAULT '' COMMENT 'Пароль на просмотр снимков альбома',
`name` varchar(128) NOT NULL DEFAULT '' COMMENT 'Название альбома',
`opis` varchar(520) NOT NULL DEFAULT '' COMMENT 'Описание альбома',
PRIMARY KEY (`id`),
KEY (`time`, `time_alter`, `open`),
FOREIGN KEY (`id_dir`) REFERENCES `ac_foto_dir` (`id`)
ON DELETE RESTRICT ON UPDATE CASCADE
) ENGINE InnoDB CHARACTER SET UTF8 COLLATE utf8_general_ci;
</pre>
https://visavi.net/topics/37591/632308
TRIGGER (SQL)
Момору
Sat, 20 Apr 2013 18:41:18 +0400
Сообщения
https://visavi.net/topics/37591/632308
-
Доброго времени суток, уважаемые Форумчане)<br>
Друзья, пытаюсь создать триггер который удалял бы хвосты файлов при удалении директории но, пред моим взором навязчиво возникает мною заскриненая и к посту прикрепленная ошибка. Может это Денвер лагает и лучше его заменить Xampp(ом)?<br>
А вот собственно и код злополучного триггера.<br>
<pre class="prettyprint">
DELIMITER $$
CREATE OR REPLACE TRIGGER `tg_foto_dir`
AFTER DELETE ON `ac_foto_dir`
BEGIN
IF(SELECT COUNT(*) FROM `ac_foto_file` WHERE `id_dir` = OLD.id LIMIT 1) = 1
THEN (DELETE FROM `ac_foto_file` WHERE `id_file` = OLD.id) END IF;
END $$
DELIMITER;
</pre>
Триггер №2 (Они взаимосвязаны, посему - неразлучны<img src="https://visavi.net/uploads/stickers/smile.gif" alt="smile"> ))<br>
<pre class="prettyprint">
DELIMITER $$
CREATE OR REPLACE TRIGGER `tg_foto_alb`
AFTER DELETE ON `ac_foto_album`
BEGIN
IF(SELECT COUNT(*) FROM `ac_foto_album` WHERE `id_album` = OLD.id LIMIT 1) = 1
THEN (DELETE FROM `ac_foto_file` WHERE `id_album` = OLD.id) END IF;
END $$
DELIMITER;
</pre>
<br>
<em><span style="font-size:x-small">Добавлено через 00:40 сек.</span></em><br>
Таблица директорий<br>
<pre class="prettyprint">
/*
Таблица директорий в фотоальбомах
*/
CREATE TABLE IF NOT EXISTS `ac_foto_dir`
(
`id` SERIAL,
`time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT 'Время создания директории',
`time_alter` TIMESTAMP COMMENT 'Время последнего изминения',
`open` set('0', '1') NOT NULL DEFAULT '0' COMMENT 'Возможность создавать фотоальбомы в директории. 1 - можно, 0 - запрещено',
`size` bigint UNSIGNED NOT NULL DEFAULT '1024' COMMENT 'Максимальный вес выгружаеиого снимка',
`dir` varchar(5120) NOT NULL DEFAULT '/' COMMENT 'Адрес текущей директории',
`dire` varchar(5120) NOT NULL DEFAULT '/' COMMENT 'Адрес предведущей директории',
`name` varchar(128) NOT NULL DEFAULT '' COMMENT 'Название директории',
`opis` varchar(1024) NOT NULL DEFAULT '' COMMENT 'Описание директории',
PRIMARY KEY (`id`),
UNIQUE KEY (`name`),
KEY (`time`, `time_alter`, `open`, `size`)
) ENGINE InnoDB CHARACTER SET UTF8 COLLATE utf8_general_ci;
</pre>
https://visavi.net/topics/37591/632307
TRIGGER (SQL)
Момору
Sat, 20 Apr 2013 18:39:31 +0400
Сообщения
https://visavi.net/topics/37591/632307