首页 > 解决方案 > Mysql触发器使用匹配数据插入行另一个表

问题描述

我有 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 Row。

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

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

标签: mysqltriggersphpmyadmin

解决方案


根据我的理解,

 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 ;

试试这个代码


推荐阅读