【发布时间】:2017-12-05 03:26:25
【问题描述】:
我有两个表,分别称为活动和用户。我需要与这两个表建立外键关系。用户名是我的用户表的主键,它是一个 varchar 值。但是当我试图建立关系时,我得到一个外键约束错误,mysql 错误代码为 1215。下面是我提到的与两个表相关的 DDL 语句。
谁能帮我解决这个问题。
谢谢
CREATE TABLE `user` (
`username` varchar(50) NOT NULL,
`user_id` int(11) DEFAULT NULL,
`email` varchar(50) DEFAULT NULL,
`password` varchar(500) DEFAULT NULL,
`activated` tinyint(1) DEFAULT '0',
`activationkey` varchar(50) DEFAULT NULL,
`resetpasswordkey` varchar(50) DEFAULT NULL,
PRIMARY KEY (`username`),
UNIQUE KEY `user_id_UNIQUE` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE activity (
activity_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
activity_type_id INT UNSIGNED,
activity_property_id INT UNSIGNED,
added_by varchar(50),
updated_by varchar(50),
activity_code VARCHAR(50),
activity_description VARCHAR(100),
start_date TIMESTAMP NULL,
end_date TIMESTAMP NULL,
start_time VARCHAR(10),
end_time VARCHAR(10),
added_date TIMESTAMP NULL,
updated_date TIMESTAMP NULL,
is_available TINYINT(1),
PRIMARY KEY (activity_id),
CONSTRAINT fk_ADDED_BY_FOR_ACTIVITY FOREIGN KEY (added_by) REFERENCES user (username),
CONSTRAINT fk_UPDATED_BY_FOR_ACTIVITY FOREIGN KEY (updated_by) REFERENCES user (username)
)
ENGINE = InnoDB;
【问题讨论】:
-
请阅读minimal reproducible example并采取行动。
标签: mysql sql foreign-keys foreign-key-relationship