在mysql中,默认情况下,on delete cascade设置为on delete restrict

在mysql中,默认情况下,on delete cascade设置为on delete restrict,mysql,Mysql,我有两张桌子(music,music\u details) 音乐: music | CREATE TABLE `music` ( `music_id` int(11) NOT NULL AUTO_INCREMENT, `movie_name` varchar(100) DEFAULT NULL, `movie_image` varchar(100) DEFAULT NULL, `music_director` varchar(150) DEFAULT NULL, `cast` varchar(1

我有两张桌子(
music,music\u details

音乐:

music | CREATE TABLE `music` (
`music_id` int(11) NOT NULL AUTO_INCREMENT,
`movie_name` varchar(100) DEFAULT NULL,
`movie_image` varchar(100) DEFAULT NULL,
`music_director` varchar(150) DEFAULT NULL,
`cast` varchar(150) DEFAULT NULL,
PRIMARY KEY (`music_id`)
ENGINE=InnoDB DEFAULT CHARSET=latin1 |
音乐组详情:

music_details | CREATE TABLE `music_details` (
`music_id` int(11) DEFAULT NULL,
`songtitle` varchar(150) DEFAULT NULL,
`duration` time DEFAULT NULL,
`artist` varchar(100) DEFAULT NULL,
`lyricist` varchar(100) DEFAULT NULL,
`status` varchar(50) DEFAULT NULL,
KEY `music_id` (`music_id`),
CONSTRAINT `music_details_ibfk_1` FOREIGN KEY (`music_id`) REFERENCES `music` (`music_id`) on delete cascade on update cascade
ENGINE=InnoDB DEFAULT CHARSET=latin1 |

现在我的问题是,
“on delete cascade”
仅在该实例中工作正常,一段时间后它设置为默认值(
on delete restrict
)。问题是什么。

是的,在我的表中,FK操作默认更改为restrict,即使我指定了“on delete cascade”,因为如果我从父表中删除任何记录,数据库自动从子表中删除相应的记录。从music_id=266的音乐中删除;错误1451(23000):无法删除或更新父行:外键约束失败(
movie site
,约束
music\u details\u ibfk\u 1
外键(
music\u id
)引用
music
music\u id
))music\u details\124;创建表
music\u details
music\u-id
int(11)默认为空,
songtile
varchar(150)默认为空,
duration
time默认为空,
artist
varchar(100)默认为空,
作词人
varchar(100)默认为空,
status
varchar(50)默认为空,
music\u-id
music\u-id
),CONSTRAINT
music\u details\u ibfk\u 1
FOREIGN KEY(
music\u id
)REFERENCES
music
music\u id
)ENGINE=InnoDB DEFAULT CHARSET=latin1 |如何解决我的问题。如果我重新启动数据库(打开计算机),外键约束设置为默认约束。