我的應用程序需要5種不同類別的車輛,每種車輛都有一些共同的領域。所以我所做的就是爲車輛的5個類別vehicle1
,vehicle2
,vehicle3
,vehicle4
,,vehicle5
的每一個創建5個表格,然後創建第6個表格「車輛」來存儲每個車輛通用的字段。現在,無論何時輸入與特定車輛相關的信息(該車輛是INSERT INTO
該特定車輛的類別表),都會執行一個觸發器,將公共字段插入vehicle
表中。所以觸發這個樣子mysql觸發器部分工作
CREATE TRIGGER `tr_vehicle1_info` AFTER INSERT ON `vehicle1`
FOR EACH ROW insert into vehicle(categ,year,make,model,vin,user_id,principal_driver) values (1,new.year,new.make,new.model,new.vin,new.user_id,new.principal_driver)
CREATE TRIGGER `tr_vehicle1_info` AFTER INSERT ON `vehicle2`
FOR EACH ROW insert into vehicle(categ,year,make,model,vin,user_id,principal_driver) values (2,new.year,new.make,new.model,new.vin,new.user_id,new.principal_driver)
CREATE TRIGGER `tr_vehicle1_info` AFTER INSERT ON `vehicle3`
FOR EACH ROW insert into vehicle(categ,year,make,model,vin,user_id,principal_driver) values (3,new.year,new.make,new.model,new.vin,new.user_id,new.principal_driver)
等等.....
現在的問題是,當我插入信息,車輛的觸發器執行和值表中插入vehicle
但對於vehicle
表中的categ
字段,總是插入0
。 categ
字段的類型是tinyint(1)
。
我不明白什麼是錯的。幫幫我?
更新車輛的
模式
CREATE TABLE IF NOT EXISTS `vehicle` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`categ` tinyint(1) NOT NULL,
`year` char(4) NOT NULL,
`make` varchar(30) NOT NULL,
`model` varchar(50) NOT NULL,
`vin` varchar(25) NOT NULL,
`user_id` int(11) NOT NULL,
`principal_driver` int(11) DEFAULT NULL,
`secondary_driver` varchar(30) NOT NULL,
`status` tinyint(1) NOT NULL DEFAULT '1',
PRIMARY KEY (`id`),
KEY `vin` (`vin`,`user_id`)
) ENGINE=InnoDB;
你能證明你的表的輸出中'遞減vehicle' – 2012-02-14 07:49:50
@NaveenKumar做 – lovesh 2012-02-14 08:03:59
究竟是什麼問題。 – 2012-02-14 08:27:57