我有一辆卡车可以交货,司机每次都会记录街道名称。我想比较出发地和目的地,以确保他们匹配的司机:
Departures | Destination
-------------+--------------
Duck Street | Alley street.
Alley street | Simpson street.
我只想确保第1行的旧目标和第2行的新离开始终匹配。我在MySQL中尝试过更新触发器,但我不理解语法,请帮助
答案 0 :(得分:1)
您的桌子应该有一个递增的id
(或时间指示),以便您可以识别最后插入的街道。
如果您的表格如下:
create table itinerary (
id int auto_increment,
departure_street varchar(100),
arrival_street varchar(100),
primary key (id)
);
...然后你可以添加这个触发器:
create trigger tr_ins_itinerary before insert on itinerary for each row
set new.departure_street = (
select arrival_street
from itinerary
order by id desc
limit 1);
请参阅SQL fiddle。
您可能有不同的驱动程序,并将driver_id
存储在该表中。在这种情况下,您需要在触发器中使用where
子句:
...where driver_id = new.driver_id...