MySQL触发器插入行另一个表使用匹配的数据

时间:2018-08-29 10:01:56

标签: mysql triggers phpmyadmin

我有3张桌子:

CREATE TABLE `UrunPaketDetay`(
    `UrunPaketDetay` int NOT NULL AUTO_INCREMENT, 
    `UrunPaketNo` int NULL, 
    `Tarih` date NULL, 
    `Barkod` varchar(14) NOT NULL, 
    `Urun` varchar(50) NULL, 
    `SunumSekli` varchar(50) NULL, 
    `IslemeSekli` varchar(50) NULL, 
    `PaketlemeSekli` varchar(50) NULL, 
    `Kalibre` varchar(50) NULL, 
    `Kilo` double NULL, 
    `GlazeOran` varchar(50) NULL, 
    `Uretici` varchar(190) NULL, 
    `PaletKod` varchar(50) NULL, 
    PRIMARY KEY (`UrunPaketDetay`)
)CHARACTER SET utf8;

CREATE TABLE `CkisEks`(
    `CikId` int NOT NULL AUTO_INCREMENT, 
    `Tarih` date NULL, 
    `Musteri` varchar(190) NULL, 
    `TeslimatYer` varchar(50) NULL, 
    `CikisSaati` time NULL, 
    `AracPlakasi` varchar(18) NULL, 
    `AracTel` varchar(16) NULL, 
    `KonteynirNo` varchar(50) NULL, 
    `PaletKod` varchar(12) NULL, 
    `Kilo` double NULL, 
    PRIMARY KEY (`CikId`)
)CHARACTER SET utf8;

CREATE TABLE `Ckis_Detay`(
    `CD_Id` int NOT NULL AUTO_INCREMENT, 
    `CikId` int NULL, 
    `Barkod` varchar(50) NULL, 
    `Urun` varchar(50) NULL, 
    `Kalibre` varchar(50) NULL, 
    `Kilo` double NULL, 
    `Uretici` varchar(50) NULL, 
    `Musteri` varchar(190) NULL, 
    `PaletKod` varchar(50) NULL, 
    `Tarih` date NULL, 
    PRIMARY KEY (`CD_Id`)
)CHARACTER SET utf8;

我填满我的第一张桌子。在第二张桌子之后,我叫PaletKod行。 PaletKod行从第一个表自动填充第二个表上的Kilo行。

但是我需要在将PaletKod填充到第二张表时,如何从第一张表中选择Paletkod并填充第三张表中的值(Uretici,Urun,Kilo和Kalibre)?

我需要触发代码。你能帮忙吗?

1 个答案:

答案 0 :(得分:0)

根据我的理解,

 DELIMITER $$
  CREATE TRIGGER Insert_UrunPaketDetay 
  AFTER INSERT ON UrunPaketDetay
  FOR EACH ROW 
  INSERT INTO Ckis_Detay (Uretici,Urun,Kilo,Kalibre)
  VALUES 
  (UrunPaketDetay.Uretici,UrunPaketDetay.Urun
   ,UrunPaketDetay.Kilo,UrunPaketDetay.Kalibre);
 END$$  
 DELIMITER ;
  

尝试此代码

相关问题