我试图转发我的新数据库到我的数据库服务器,但我不明白为什么我得到这个错误。 我试图在这里search答案,但是我发现的一切都说要将数据库引擎设置为Innodb或确保我试图用作外键的键是他们自己的表中的主键。 如果我没有弄错的话,我已经完成了这两件事情。 任何其他帮助你们可以提供? Executing SQL script in server ERROR: Error 1215: Cannot add foreign key constraint — —————————————————– — Table `Alternative_Pathways`.`Clients_has_Staff` — —————————————————– CREATE TABLE IF NOT EXISTS `Alternative_Pathways`.`Clients_has_Staff` ( `Clients_Case_Number` INT NOT NULL , `Staff_Emp_ID` INT NOT NULL , PRIMARY KEY (`Clients_Case_Number`, `Staff_Emp_ID`) , INDEX `fk_Clients_has_Staff_Staff1_idx` (`Staff_Emp_ID` ASC) , INDEX `fk_Clients_has_Staff_Clients_idx` (`Clients_Case_Number` ASC) […]
禁用和启用SQL Server中支持的外键约束? 或者是我唯一的select,然后重新create约束?
我有一个奇怪的问题。 我试图添加一个外键引用另一个表,但由于某种原因失败。 由于我对MySQL的知识有限,唯一可能会怀疑的是在引用我想引用的表上的另一个表上有一个外键。 这里是我的表关系的图片,通过phpMyAdmin: 关系生成 我已经在两个表上做了一个SHOW CREATE TABLE查询, sourcecodes_tags是带有外键的表, sourcecodes是被引用的表。 CREATE TABLE `sourcecodes` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `user_id` int(11) unsigned NOT NULL, `language_id` int(11) unsigned NOT NULL, `category_id` int(11) unsigned NOT NULL, `title` varchar(40) CHARACTER SET utf8 NOT NULL, `description` text CHARACTER SET utf8 NOT NULL, `views` int(11) unsigned NOT NULL, `downloads` […]
我想在两个外键的MySQL中创建一个表,其中引用另外两个表中的主键,但我得到一个errno:150错误,它不会创建表。 这是所有3个表的SQL: CREATE TABLE role_groups ( `role_group_id` int(11) NOT NULL `AUTO_INCREMENT`, `name` varchar(20), `description` varchar(200), PRIMARY KEY (`role_group_id`) ) ENGINE=InnoDB; CREATE TABLE IF NOT EXISTS `roles` ( `role_id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50), `description` varchar(200), PRIMARY KEY (`role_id`) ) ENGINE=InnoDB; create table role_map ( `role_map_id` int not null `auto_increment`, `role_id` int not null, `role_group_id` […]
我想使用外键来保持完整性并避免孤儿(我已经使用innoDB)。 如何创建一个SQL语句DELETE ON CASCADE? 如果我删除一个类别,那么我如何确保它不会删除也与其他类别相关的产品。 数据透视表“categories_products”在另外两个表之间创建了一个多对多的关系。 categories – id (INT) – name (VARCHAR 255) products – id – name – price categories_products – categories_id – products_id