私は PHP と MySQL に不慣れで、助けが必要です...
データベース内のテーブルに外部キーを自動的に挿入する方法について頭を悩ませているようです。主キーは「mem」テーブルに「id」として追加されますが、これと同じ ID を「location」テーブルの外部キーに追加したいと考えています。誰でも助けてもらえますか?
テーブルが二つあります...
「mem テーブル」ID、ユーザー名、電子メール。
| 1 | 2 | 3 |
| paul | john | francis |
| paul@gm.| john@gm.|francis@.|
「ロケーション テーブル」 ID、ロケーション、user_id << 外部キー
| 1 | 2 | 3 |
| leeds |liverpool| london |
| ? | ? | ? |
ユーザーテーブルの「id」を外部キーとして自動的にここに挿入するにはどうすればよいですか?
このphpコードを使用してデータを挿入しています...
$sql = mysql_query("INSERT INTO mem (username, country, state, city, accounttype, email, password, signupdate)
VALUES('$username','$country','$state','$city','$accounttype','$email','$hashedPass', now())") or die(mysql_error());
$id = mysql_insert_id();
$sql = mysql_query("INSERT INTO location (location)
VALUES('$location')") or die(mysql_error());
$user_id = mysql_insert_id();
フォームを送信すると、このエラーが発生します... 子行を追加または更新できません: 外部キー制約が失敗しました ( mem
. location
, CONSTRAINT location_ibfk_1
FOREIGN KEY ( user_id
) REFERENCES location
( id
) ON DELETE CASCADE ON UPDATE CASCADE)
誰でも助けることができますか?