新しいユーザーをデータベースに追加して users テーブルに保存するスクリプトがあります。コントラクト テーブル (コントラクトのリスト) と、ユーザーがコントラクトにアクセスするためのルックアップ/リンク テーブルもあります。
新しいユーザーに与えられる一意の ID がわからない場合に、contracts テーブルに新しいユーザーを追加する最良の方法を知りたいです。
例:
ステップ 1 - サインアップ フォームには、通常のユーザー入力、ユーザー名、パスワードなど、および契約用の多数のチェックボックスがあります (すべての契約には一意の ID もあります)。
ステップ 2 - フォームが送信され、ユーザーの詳細がユーザー テーブルに追加され、その新しいユーザーに対して一意の ID が生成されます。
ステップ 3 - ステップ 1 で選択した契約は、選択した契約の一意の ID と新しいユーザーの一意の ID を使用して users_contracts テーブルに挿入されます。
これは私が脳ブロックを持っているところです。新しいユーザーの一意の ID はどうすればわかりますか?
現時点で考えられる唯一の方法は、通常どおり新しいユーザーを挿入し、新しいユーザー名に対して別のクエリを実行し、データベースから新しいユーザー ID を取得して、3 番目のクエリで users_contracts テーブルに挿入することです。
何かのようなもの:
INSERT INTO `users` _POST DATA FROM FORM
次に、上記の INSERTED ユーザーを取得し、変数に格納します。
SELECT FROM users _POST USERNAME
次に、users_contracts テーブルに追加します。
INSERT INTO users_contracts _POST contracts and the above created variable for the users ID
申し訳ありませんが、挿入とすべてのデータベースアクティビティに PDO を使用していることに言及する必要があります。