私はactivityとuserという2つのテーブルを持っています。私はこれら2つのテーブルと外来的な関係を作る必要があります。 usernameは私のuserテーブルの主キーです。これはvarchar値です。しかし、私が関係を作ろうとすると、私は外部キーにmysqlエラーコード1215のエラーを制限します。以下は、私が言及した2つのテーブルに関する私のDDLステートメントです。外部キーの関係を追加しようとすると、mysqlの外部キーが制約されます
誰でもこの問題を解決するのに手伝ってください。
おかげ
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;
[mcve]を読んで行動してください。 – philipxy