我不太清楚如何做我以后做的事情。所以我制作的是一款在线游戏。当用户购买新车时,我会做一个INSERT :
$c->query("INSERT INTO user_cars (carid, userid, acc, speed) VALUES ('$buyid','$id','$acc','$speed')");
现在我有另一张桌子,我需要在上面的查询上面的信息之后插入信息。我需要的是carid
。用户可以拥有超过2辆车。我现在该怎么办?
答案 0 :(得分:1)
您有多种选择:
答案 1 :(得分:1)
这是您想要创建的触发器的基本演示。为了便于说明,我还将ddl和示例插入到user_cars表中,以显示另一个表,我称之为#34; your_other_table"接收进入user_cars表的插入的插入(只是carid值)。
<强>小提琴:强> http://sqlfiddle.com/#!9/f76a7/1/0
(注意&#34; your_other_tabe&#34;有一行插入的插入物&#34; user_cars&#34;,尽管没有直接插入自身)
delimiter //
create table user_cars
(
carid int,
userid int,
acc int,
speed int,
constraint id_pk primary key (carid, userid)
)//
create table your_other_table
(
carid int
)//
create trigger your_trigger_name before insert on user_cars
for each row begin
insert into your_other_table (carid)
values (new.carid);
end
//
insert into user_cars values
(1, 2, 3, 99)//
delimiter ;
select *
from your_other_table;
<强>输出:强>
| CARID |
|-------|
| 1 |
这是上面创建触发器的sql的唯一部分:
delimiter //
create trigger your_trigger_name before insert on user_cars
for each row begin
insert into your_other_table (carid)
values (new.carid);
end
//
delimiter ;