mysqlとPDOでいくつか問題が発生しています。
製品をデータベースに挿入したいのですが、製品テーブルに外部キーが含まれています。当然、挿入時に外部キーIDはわかりません。私はこれを正しくやっていますか?この問題に取り組むためのより良い方法はありますか?
表製品
- Id PK AI int
- 名前Varchar(20)
- CategoryId Int FK
- TypeId Int FK
表のカテゴリー
- Id Int PK
- 猫varchar(20)
テーブルタイプ
- Id Int PK
varchar(20)と入力します
$type = 'Gloves'; $category = 'Clothing'; $sql = 'INSERT INTO Products SET Name = :name, CategoryId = :catId, TypeId = :typeId WHERE CategoryId IN (SELECT Id FROM Categories WHERE Cat = :category) AND TypeId IN (SELECT Id FROM Types WHERE Type = :type)' $stmt = $db->prepare($sql); $stmt->execute(array(':name' => 'Pink childrens gloves', ':category' => $category, ':type' => $type));
以下のコメントで述べられているように:通常、私は選択ボックスからIDを取得します。これは、ユーザーではなくクエリを実行するスクリプトになるため、実行できません。