Sql 如何解决';外键约束格式不正确';问题
我正在尝试创建一个名为Sql 如何解决';外键约束格式不正确';问题,sql,foreign-keys,Sql,Foreign Keys,我正在尝试创建一个名为wp\u tokens的数据库表,该表与另一个名为wp\u users的表具有外键关系。但是,每次尝试运行create table SQL时,都会出现错误“外键约束格式不正确”。我尝试过多次对同一代码进行重新编辑,但我就是搞不清楚到底发生了什么 这是wp\u用户的代码 CREATE TABLE `wp_users` ( `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `user_login` varchar
wp\u tokens
的数据库表,该表与另一个名为wp\u users
的表具有外键关系。但是,每次尝试运行create table SQL时,都会出现错误“外键约束格式不正确”。我尝试过多次对同一代码进行重新编辑,但我就是搞不清楚到底发生了什么
这是wp\u用户的代码
CREATE TABLE `wp_users` (
`ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`user_login` varchar(60) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
`user_pass` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
`user_nicename` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
`user_email` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
`user_url` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
`user_registered` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`user_activation_key` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
`user_status` int(11) NOT NULL DEFAULT '0',
`display_name` varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
PRIMARY KEY (`ID`),
KEY `user_login_key` (`user_login`),
KEY `user_nicename` (`user_nicename`),
KEY `user_email` (`user_email`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4
COLLATE=utf8mb4_unicode_ci
这是wp\u令牌的SQL
CREATE TABLE `wp_tokens` (
id mediumint(9) NOT NULL AUTO_INCREMENT,
`user_id` bigint(20) NOT NULL,
`token` varchar(255) NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (user_id) REFERENCES wp_users (`ID`)
)
任何帮助都将不胜感激 unsigned
很重要——类型必须相同。试试这个:
CREATE TABLE `wp_tokens` (
id mediumint(9) NOT NULL AUTO_INCREMENT,
`user_id` bigint(20) unsigned NOT NULL,
`token` varchar(255) NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (user_id) REFERENCES wp_users (`ID`)
)
是一个测力计。哦,哇,我真不敢相信我错过了!谢谢,我接受你的回答,因为我也错过了。向上投票。