Мое приложение требует 5 различных категорий транспортных средств, и у каждой категории транспортных средств есть несколько общих полей. Итак, что я сделал, было создано 5 таблиц для каждой из 5 категорий транспортных средств vehicle1
, vehicle2
, vehicle3
, vehicle4
, vehicle5
и затем создал шестую таблицу «транспортное средство» для хранения полей, которые являются общими для каждого транспортного средства. Теперь, когда я вводю информацию, относящуюся к конкретному транспортному средству, которая является INSERT INTO
таблицей категорий этого конкретного транспортного средства, запускается триггер, который вставляет общие поля в таблицу vehicle
. так что триггеры выглядят так
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
, но для поля categ
в таблице vehicle
всегда вставляется 0
. тип поля categ
- tinyint(1)
.
Я не понимаю, что не так. Помогите?
UPDATE
схема автомобиля
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;