私は2つのテーブル:UID
がプライマリキーで自動インクリメントで、tbl_login_info
がLoginID
(プライマリ)など、タイムスタンプのようないくつかの他の情報と一緒にUID
MySQL:子行を追加または更新できません:UIDを参照するときに外部キー制約が失敗する
CONSTRAINT `uid-info/login` FOREIGN KEY (`UID`) REFERENCES `tbl_usr_info` (`UID`)
を実行することにより、tbl_usr_info
にUIDとtbl_login_info
からUIDを参照しようとしているが、私はこのエラーを取得してい
:
Cannot add or update a child row: a foreign key constraint fails (CONSTRAINT
uid-info/login
FOREIGN KEY (UID
) REFERENCEStbl_usr_info
(UID
))
tbl_usr_info table
CREATE TABLE `tbl_usr_info` (
`UID` int(50) NOT NULL AUTO_INCREMENT,
`username` varchar(50) NOT NULL DEFAULT '',
`password` varchar(50) NOT NULL DEFAULT '',
`email` varchar(50) NOT NULL DEFAULT '',
PRIMARY KEY (`UID`),
UNIQUE KEY `username` (`username`),
UNIQUE KEY `email` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
tbl_usr_login table
CREATE TABLE `tbl_usr_login` (
`LoginID` int(11) NOT NULL AUTO_INCREMENT,
`UID` int(50) NOT NULL,
`ip_address` varchar(55) DEFAULT NULL,
`device` varchar(100) DEFAULT NULL,
`time_stamp` datetime DEFAULT NULL,
PRIMARY KEY (`LoginID`)
)ENGINE=InnoDB DEFAULT CHARSET=latin1;
それは私が間違っていること、それを参照していた順番ですか?
自分のtbl_usr_infoに「UID = 0」のユーザーがいませんでした。それが問題でした。どうもありがとう –