Создайте триггер для обновления столбца в таблице после удаления записи в другой таблице.MySql

Форум по Mysql
Ответить
Anonymous
 Создайте триггер для обновления столбца в таблице после удаления записи в другой таблице.

Сообщение Anonymous »

Я создаю очень простую веб-страницу для приюта для животных (школьный проект) и хочу создать триггер, в котором, если я удалю строку в HTML-таблице «усыновление», ситуация с усыновленным животным будет изменена с «усыновленного» на «приют». Прежде чем добавлять логику на веб-страницу, я провожу тесты в phpmyadmin, и он говорит: «Столбец id_animal в предложении WHERE неизвестен», и это не работает.
Я хочу сопоставить идентификатор в «id_animal» с идентификатором в таблице «animal».
До сих пор я пробовал это:

Код: Выделить всё

CREATE TRIGGER devolver_a_refugio2
AFTER DELETE ON adopciones
FOR EACH ROW
UPDATE animal SET situacion = 'refugio' WHERE id_animal = id;

--to delete just in cause

DROP TRIGGER IF EXISTS devolver_a_refugio2;

--my tables

Create table animal(
id INT AUTO_INCREMENT PRIMARY KEY,
foto VARCHAR (255),
nombre VARCHAR (50),
especie ENUM ('perro', 'gato'),
raza VARCHAR (50),
sexo ENUM ('macho', 'hembra'),
cumple DATE,
ingreso DATE,
caso_especial ENUM ('ninguno','urgente', 'conjunta', 'tratamiento_medico', 'anciano') DEFAULT 'ninguno',
situacion ENUM ('refugio', 'acogida', 'adoptado') DEFAULT 'refugio',
descripcion TEXT);

CREATE TABLE adopciones (

id_adopcion INT AUTO_INCREMENT PRIMARY KEY,
fecha DATE DEFAULT CURRENT_DATE,
nombre_adoptante VARCHAR (255),
primap_adoptante VARCHAR (255),
segap_adoptante VARCHAR (255),
dni VARCHAR (9),
telefono VARCHAR(50),
direccion VARCHAR (255),
id_animal INT,
nombre_animal VARCHAR (50),
FOREIGN KEY (id_animal) REFERENCES animal(id));

Что я делаю не так? заранее спасибо

Подробнее здесь: https://stackoverflow.com/questions/798 ... -in-anothe
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «MySql»