2つのテーブルがあるとしましょう:
DROP TABLE IF EXISTS `datasetCalculation`;
DROP TABLE IF EXISTS `dataset`;
CREATE TABLE IF NOT EXISTS `dataset`(
`datasetID` INT NOT NULL AUTO_INCREMENT,
`datasetWeekOf` DATE, #date indicates the beginning of a week
`dataInsertedByID` INT NOT NULL,
`datasetItem1` INT,
`datasetItem2` INT,
`datasetItem3` INT,
PRIMARY KEY (`datasetID`, `datasetWeekOf`)
)Engine = InnoDB;
CREATE TABLE IF NOT EXISTS `datasetCalculation`(
`datasetID` INT NOT NULL,
`datasetWeekOf` DATE,
`datasetItemSum` INT,
PRIMARY KEY (`datasetID`, `datasetWeekOf`),
CONSTRAINT `datasetID_FK`
FOREIGN KEY (`datasetID`)
REFERENCES `dataset` (`datasetID`)
ON UPDATE CASCADE
ON DELETE CASCADE,
CONSTRAINT `datasetWeekOf_FK`
FOREIGN KEY (`datasetID`)
REFERENCES `dataset` (`datasetID`)
ON UPDATE CASCADE
ON DELETE CASCADE
) Engine = InnoDB;
私がやりたいのはdataset
、 が次の週の情報で更新されたときに (週に 1 回更新されます)、関連する情報を に自動的に挿入することdatasetCalculation
です。同等のことは、ある言語 (php としましょう) で の合計を計算しdatasetItem(1-3)
、それを に挿入すること datasetCalculation
です。datasetItemSum
他の関連情報とともに。代わりに、これがデータベースによって自動的に行われることを望みます。