挿入ができない
MySQLバージョン4.1.16を使用しています。
「user_role」テーブルを
「users」テーブルのuser_idカラムと「roles」テーブルのrole_seqカラムを外部キーとして作成します。
そして「user_role」テーブルにuser_id「aaaa」とrole_seq「1」をINSERTしようとしたのですが、
以下のようなエラーが出てしまいます。
Cannot add or update a child row: a foreign key constraint fails (`test/user_role`, CONSTRAINT `user_role_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `users` (`user_id`) ON DELETE CASCADE)
INSERT INTO user_role (user_id, role_seq) VALUES ('aaaa', 1)
どこらへんが間違っているのでしょうか?
以下の手順でテーブルを作成しました。
CREATE TABLE users (user_id VARCHAR(16) NOT NULL, password VARCHAR(32) NOT NULL, regist_date DATETIME NOT NULL, PRIMARY KEY (user_id)) ENGINE = InnoDB
CREATE TABLE roles (role_seq BIGINT UNSIGNED AUTO_INCREMENT, name VARCHAR(32) NOT NULL, PRIMARY KEY (role_seq)) ENGINE = InnoDB
CREATE TABLE user_role (role_seq BIGINT UNSIGNED, user_id VARCHAR(16) NOT NULL, FOREIGN KEY (role_seq) REFERENCES roles(role_seq) ON DELETE CASCADE, FOREIGN KEY (user_id) REFERENCES users(user_id) ON DELETE CASCADE) ENGINE = InnoDB
お礼
ありがとうございました。マニュアルは今度読んでおこうと思います。お礼が遅くなりすいません。