Я новичок в этом и хочу, чтобы некоторый help.I есть таблица с именем «ABC» со следующими записямикак обновить таблицу с помощью триггера
+------+--------+------+
| Id | Name | City |
+------+--------+------+
| 101 | john | abc |
| 102 | Miller | cbz |
+------+--------+------+
и другая таблица «А»
+------+--------+------+
| Id | Name | City |
+------+--------+------+
| 102 | Miller | cbz |
+------+--------+------+
я применил триггер в таблице «abc», который обновит таблицу «xyz» с недавно вставленными значениями и удалит все предыдущие записи ... , например, когда i fire insert query на таблице «abc» я получаю, «abc» as следовать
insert into abc Values(103,'Joseph','xyz');
я получить выход для таблицы «ABC», как,
+------+--------+------+
| Id | Name | City |
+------+--------+------+
| 101 | john | abc |
| 102 | Miller | cbz |
| 103 | Joseph | xyz |
+------+--------+------+
и таблица «хуг», как,
+------+--------+------+
| Id | Name | City |
+------+--------+------+
| 103 | Joseph | xyz |
+------+--------+------+
теперь мой вопрос заключается в том, чтобы добиться этого, используя только одну таблицу (я не хочу использовать две таблицы, поскольку это не мое требование). как следующий ..
insert into xyz values(104,'Ridhit','pqr');
+------+--------+------+
| Id | Name | City |
+------+--------+------+
| 104 | Ridhit | pqr |
+------+--------+------+
Пожалуйста help.Trigger я использовал это
DELIMITER !!
create trigger OnlyOne BEFORE INSERT on abc
for each row
BEGIN
DECLARE a1 INT;
Select count(1) INTO a1 from xyz;
IF a1>0 THEN
delete from xyz limit 1;
insert into xyz(Id,Name,City) values (new.Id,new.Name,new.City);
ELSE
insert into xyz(Id,Name,City) values (new.Id,new.Name,new.City);
END IF;
END;
!!
DELIMITER ;
Возможно, вы введете «xyz» и он удалит предыдущую запись перед добавлением нового? Если так, это невозможно с триггером. Вы не можете вставлять/обновлять/удалять в той же таблице, где запускается триггер. –
ohh: (... так что любое другое решение ...? – SimplyMe
Может быть, вам нужно сделать это на уровне приложения. –