Хм. Перёвёл названеи столбцов на русский и вновь траблы... мля.
В коде два однотипных по логике триггера и один и тот же постоянно не работает( компиляция не заканчивается привычным "mysql>", а заканчивается "`> "). и далее при обработке запросов триггер не работает.
--
-- Create schema quality
--
CREATE DATABASE quality DEFAULT CHARACTER SET cp1251;
USE quality;
--
-- Definition of table `tb_183`
--
CREATE TABLE `tb_183`(
`id` int(10) unsigned NOT NULL auto_increment,
`Дата` date NOT NULL ,
`Кокиль` tinyint(2) unsigned NOT NULL,
`Дефект` smallint(3) unsigned NOT NULL,
`Локация` varchar(4) NOT NULL,
`Автор` varchar(3) default ' ',
`Стержень` varchar(3) default ' ' ,
PRIMARY KEY(`id`,`Дата`,`Кокиль`,`Дефект`)
)ENGINE=InnoDB AUTO_INCREMENT=1;
--
-- Definition of table `temp_214`
--
CREATE TABLE `temp_214`(
`id` int(10) unsigned NOT NULL auto_increment,
`Дата` date NOT NULL ,
`Кокиль` tinyint(2) unsigned NOT NULL,
`Дефект` smallint(3) unsigned NOT NULL,
`Локация` varchar(4) NOT NULL,
`Автор` varchar(3) default ' ',
`Стержень` varchar(3) default ' ' ,
PRIMARY KEY(`id`,`Дата`,`Кокиль`,`Дефект`)
)ENGINE=InnoDB AUTO_INCREMENT=1;
--
-- Definition of table `tb_214`
--
CREATE TABLE `tb_214`(
`id` int(10) unsigned NOT NULL auto_increment,
`Дата` date NOT NULL ,
`Кокиль` tinyint(2) unsigned NOT NULL,
`Дефект` smallint(3) unsigned NOT NULL,
`Локация` varchar(4) NOT NULL,
`Автор` varchar(3) default ' ',
`Стержень` varchar(3) default ' ' ,
PRIMARY KEY(`id`,`Дата`,`Кокиль`,`Дефект`)
)ENGINE=InnoDB AUTO_INCREMENT=1;
--
-- Definition of table `tb_214_73`
--
CREATE TABLE `tb_214_73`(
`id` int(10) unsigned NOT NULL auto_increment,
`Дата` date NOT NULL ,
`Кокиль` tinyint(2) unsigned NOT NULL,
`Дефект` smallint(3) unsigned NOT NULL,
`Локация` varchar(4) NOT NULL,
`Автор` varchar(3) default ' ',
`Стержень` varchar(3) default ' ' ,
PRIMARY KEY(`id`,`Дата`,`Кокиль`,`Дефект`)
)ENGINE=InnoDB AUTO_INCREMENT=1;
--
-- Definition of table `tb_011`
--
CREATE TABLE `tb_011`(
`id` int(10) unsigned NOT NULL auto_increment,
`Дата` date NOT NULL ,
`Кокиль` tinyint(2) unsigned NOT NULL,
`Дефект` smallint(3) unsigned NOT NULL,
`Локация` varchar(4) NOT NULL,
`Автор` varchar(3) default ' ',
`Стержень` varchar(3) default ' ' ,
PRIMARY KEY(`id`,`Дата`,`Кокиль`,`Дефект`)
)ENGINE=InnoDB AUTO_INCREMENT=1;
--
-- Definition of trigger `modification_214` **************************************/* проблемный код*/
--
DELIMITER $$
CREATE DEFINER = `root`@`localhost` TRIGGER `modification_214` BEFORE INSERT ON temp_214 FOR EACH ROW begin
declare barid int default 0;
declare ts date default curdate();
declare _md2 int default 0;
declare _md3 int default 0;
declare _md9 int default 0;
declare _md18 int default 0;
declare _md20 int default 0;
declare _md21 int default 0;
declare _md22 int default 0;
declare _md29 int default 0;
declare _m69 int default 0;
declare _m81 int default 0;
Select curdate() into ts;
set _md2 =2;
set _md3 =3;
set _md9 =9;
set _md18 =18;
set _md20 =20;
set _md21 =21;
set _md22 =22;
set _md29 =29;
set _m69 =69;
set _m81 =81;
if (new.`Кокиль` = _md2 )||(new.`Кокиль` = _md3 )||(new.`Кокиль` = _md9 )||(new.`Кокиль` = _md18 )||(new.`Кокиль` = _md20 )||(new.`Кокиль` = _md21 )||(new.`Кокиль` = _md22 )||(new.`Кокиль` = _md29 ) then
insert into tb_214_73(id,`Дата`, `Кокиль`, `Дефект`, `Локация`, `Автор`, `Стержень`)VALUES(null, curdate(), new.`Кокиль`, new.`Дефект, new.`Локация`, new.`Автор`, new.`Стержень`);
else
if (new.`Кокиль` = _m69 )||(new.`Кокиль` = _m81 ) then
insert into tb_011(id,`Дата`, `Кокиль`, `Дефект`, `Локация`, `Автор`, `Стержень`)VALUES(null, curdate(), new.`Кокиль`, new.`Дефект`, new.`Локация`, new.`Автор`, new.`Стержень`);
else
insert into tb_214(id,`Дата`, `Кокиль`, `Дефект`, `Локация`, `Автор`, `Стержень`)VALUES(null, curdate(), new.`Кокиль`, new.`Дефект`, new.`Локация`, new.`Автор`, new.`Стержень`);
end if;
end if;
end $$
DELIMITER ;
--
-- Definition of table `temp_126`
--
CREATE TABLE `temp_126`(
`id` int(10) unsigned NOT NULL auto_increment,
`Дата` date NOT NULL ,
`Кокиль` tinyint(2) unsigned NOT NULL,
`Дефект` smallint(3) unsigned NOT NULL,
`Локация` varchar(4) NOT NULL,
`Автор` varchar(3) default ' ',
`Стержень` varchar(3) default ' ' ,
PRIMARY KEY(`id`,`Дата`,`Кокиль`,`Дефект`)
)ENGINE=InnoDB AUTO_INCREMENT=1;
--
-- Definition of table `tb_126`
--
CREATE TABLE `tb_126`(
`id` int(10) unsigned NOT NULL auto_increment,
`Дата` date NOT NULL ,
`Кокиль` tinyint(2) unsigned NOT NULL,
`Дефект` smallint(3) unsigned NOT NULL,
`Локация` varchar(4) NOT NULL,
`Автор` varchar(3) default ' ',
`Стержень` varchar(3) default ' ' ,
PRIMARY KEY(`id`,`Дата`,`Кокиль`,`Дефект`)
)ENGINE=InnoDB AUTO_INCREMENT=1;
--
-- Definition of table `tb_194`
--
CREATE TABLE `tb_194`(
`id` int(10) unsigned NOT NULL auto_increment,
`Дата` date NOT NULL ,
`Кокиль` tinyint(2) unsigned NOT NULL,
`Дефект` smallint(3) unsigned NOT NULL,
`Локация` varchar(4) NOT NULL,
`Автор` varchar(3) default ' ',
`Стержень` varchar(3) default ' ' ,
PRIMARY KEY(`id`,`Дата`,`Кокиль`,`Дефект`)
)ENGINE=InnoDB AUTO_INCREMENT=1;
--
-- Definition of trigger `modification_126`
--
DELIMITER $$
CREATE DEFINER = `root`@`localhost` TRIGGER `modification_126` BEFORE INSERT ON temp_126 FOR EACH ROW begin
declare barid int default 0;
declare ts date default curdate();
declare _md9 int default 0;
declare _md15 int default 0;
declare _md16 int default 0;
declare _md17 int default 0;
Select curdate() into ts;
set _md9 =9;
set _md15 =15;
set _md16 =16;
set _md17 =17;
if (new.`Кокиль` = _md9 )||(new.`Кокиль` = _md15 )||(new.`Кокиль` = _md16 )||(new.`Кокиль` = _md17 ) then
insert into tb_194(id,`Дата`, `Кокиль`, `Дефект`, `Локация`, `Автор`, `Стержень`)VALUES(null, curdate(), new.`Кокиль`, new.`Дефект`, new.`Локация`, new.`Автор`, new.`Стержень`);
else
insert into tb_126(id,`Дата`, `Кокиль`, `Дефект`, `Локация`, `Автор`, `Стержень`)VALUES(null, curdate(), new.`Кокиль`, new.`Дефект`, new.`Локация`, new.`Автор`, new.`Стержень`);
end if;
end $$
DELIMITER ;