我使用MySQL有一个原谅的关键问题。我有一张研究表和一张样品表。用户可以添加研究并添加样本。每个样本都属于一项研究,但研究可以有很多样本。因此,研究和样本之间存在一对多的关系。我需要在samples表中设置一个外键,这样无论何时创建一个新样本,它都可以通过其父研究引用。我使用下面的脚本在示例表中设置了一个外键,但每当我添加一个新样本时,它都会将study_id列留空。我是新手使用外键所以任何例子都会很棒。感谢。
CREATE TABLE `studies` (
`study_id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) DEFAULT NULL,
`study_name` varchar(45) DEFAULT NULL,
`description` tinytext,
`reads` varchar(45) DEFAULT NULL,
`created_at` varchar(45) DEFAULT NULL,
PRIMARY KEY (`study_id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
CREATE TABLE `samples` (
`sample_id` int(11) NOT NULL AUTO_INCREMENT,
`study_id` int(11) DEFAULT NULL,
`sample_name` varchar(45) DEFAULT NULL,
`created_at` varchar(45) DEFAULT NULL,
PRIMARY KEY (`sample_id`),
FOREIGN KEY (`study_id`)
REFERENCES `studies` (`study_id`)
ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;