gpt4 book ai didi

mysql - Manjaro Linux 中 MySQL 的外键格式错误

转载 作者:行者123 更新时间:2023-11-29 06:26:07 24 4
gpt4 key购买 nike

enter image description here

“用户表”创建成功。每个列和类型都与“用户表”相同。但是,当我创建名为“user_role”的关联表时,无法调用“用户表”。我只在将 MySQL 与 MariaDB 一起使用时遇到此错误。在windows下安装mysql并这样使用就可以了。在不更改该表名称的情况下,我可以做些什么来使其正确吗?

两个表被转储,因为我忘记了原始代码放在哪里。但我还是一样。

CREATE TABLE `user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`email` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`course_id` bigint(20) DEFAULT NULL,
`password` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `FKj8ce5cjkm11igsffixdxexrr9` (`course_id`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE `users` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`email` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`course_id` bigint(20) DEFAULT NULL,
`password` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `course_id` (`course_id`),
CONSTRAINT `users_ibfk_1` FOREIGN KEY (`course_id`) REFERENCES `course` (`id`) ON DELETE SET NULL) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


CREATE TABLE `role` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`role_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

create table `user_role`(
`id` int auto_increment not null,
`user_id_fk` bigint,
`role_id_fk` int,
primary key (`id`),
foreign key (`user_id_fk`) references `user`(`id`),
foreign key (`role_id_fk`) references `role`(`id`)
);

--> references user(id) 不起作用,但 references users(id) 正在起作用。有什么办法让它发挥作用吗?或者只是更改名称?

最佳答案

建议您不要将一个表名作为另一个表名的复数形式(userusers);它可能会导致拼写错误。

不要将 MyISAM 用于任何用途。 (极少数异常(exception))

如果这是一个多对多映射表,请按照 http://mysql.rjweb.org/doc.php/index_cookbook_mysql#many_to_many_mapping_table 中的提示操作。

关于mysql - Manjaro Linux 中 MySQL 的外键格式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59445780/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com