我有 2 个表,一个称为“Image”表,另一个称为“Image_Question”表。下面是 2 个表的样子:
图像表:
ImageId ImageFile
01 picture/cat.png
02 picture/cat_2.png
03 picture/dog.png
Image_Question 表:
ImageId SessionId QuestionId
01 ADS 3
02 FTG 7
03 JJK 1
我的问题是,在 SQL 中我如何编写它以便两个表中的 ImageId 链接在一起,这样可以说我从 Image Table 中删除 ImageId = 01 的行,Image_Question 表中的 ImageId = 01(对应行)是也删除了。
我尝试了下面的代码,但没有奏效:
ALTER TABLE Image_Question ADD CONSTRAINT FK_ImageId FOREIGN KEY (ImageId) REFERENCES Image (ImageId) ON DELETE CASCADE;
更新:
显示图像表:
CREATE TABLE `Image` (
`ImageId` int(10) NOT NULL AUTO_INCREMENT,
`ImageFile` varchar(250) NOT NULL,
PRIMARY KEY (`ImageId`)
) ENGINE=MyISAM AUTO_INCREMENT=399 DEFAULT CHARSET=utf8
显示 IMAGE_QUESTION 表:
CREATE TABLE `Image_Question` (
`ImageQuestionId` int(10) NOT NULL AUTO_INCREMENT,
`ImageId` int(10) NOT NULL,
`SessionId` varchar(10) NOT NULL,
`QuestionId` int(5) NOT NULL,
PRIMARY KEY (`ImageQuestionId`),
KEY `QuestionId` (`QuestionId`),
KEY `SessionId` (`SessionId`),
KEY `fk_imagequestionid` (`ImageId`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8