3

私は MySql を使用しており、2 つのテーブルmasterinventory. ここで、テーブルフィールドproduct_descriptionから在庫テーブル フィールドを更新した後にトリガーが必要です。masterproduct_description

例:

マスターテーブル:

pmid  -  product_name - product_description - price
1        tv                HD tv               10

在庫表:

invid - pmid  - product_description - color
1        1                             black

トリガーはpartmaster、pmid = pmid の場所から product_description を挿入する必要があります。

CREATE TABLE IF NOT EXISTS `master` (
  `pmid` int(11) NOT NULL AUTO_INCREMENT,
  `product_name` varchar(255) NOT NULL,
  `product_description` varchar(255) NOT NULL,
  `price` varchar(10) NOT NULL,
  PRIMARY KEY (`pmid`),
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=20 ;

CREATE TABLE IF NOT EXISTS `inventory` (
  `invid` int(11) NOT NULL AUTO_INCREMENT,
  `pmid` int(11) NOT NULL,
  `product_description` varchar(255) NOT NULL,
  `color` int(11) NOT NULL,
  PRIMARY KEY (`invid`),
  KEY `pmid` (`pmid`),   //foreign key master table//
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=20 ;

ありがとう

4

1 に答える 1

0
delimiter //
CREATE TRIGGER update_inventory AFTER INSERT ON master
FOR EACH ROW 
BEGIN
UPDATE inventory I SET I.product_description = new.product_description 
WHERE (I.pmid = new.pmid );
END; //
delimiter ;

データに一貫性がありません。2. 色フィールドは数値です。あなたの例と矛盾します。

于 2013-01-23T19:58:59.430 に答える