mysql과 PDO에 몇 가지 어려움이 있습니다.외래 키가있는 테이블에 PDO 삽입
제품 테이블에 외래 키가 포함되어 있지만 제품을 데이터베이스에 삽입하려고합니다. 물론 삽입 할 때 외래 키 ID를 알지 못합니다. 내가이 일을 제대로하고 있니? 이 문제를 해결할 더 좋은 방법이 있습니까?
TABLE 제품
- 아이디 PK AI INT
- 이름 VARCHAR (20)
- 카테고리 ID Int 인 FK
- 유형 ID Int 인 FK
표 카테고리
- 아이디 Int 인 PK는
- 고양이 VARCHAR (20)
표 유형
- 아이디 지능 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));
언급 한 바와 같이 아래의 코멘트에서 : 일반적으로, 나는 D 선택 상자에서. 사용자가 아니라 쿼리를 실행하는 스크립트이기 때문에이 작업을 수행 할 수 없습니다.
당신 것 목록 또는 유효한 옵션을 추구하고 ID를 반환 다른 위젯 드롭 다운에서 일반적으로 선택 범주와 종류. 베어 본 입력 상자에 의존하십니까? –
선택 상자에서 ID를 얻을 수 있기 때문에이 사실을 알고 있습니다 ... 자동화 작업을 시도하고 있습니다 ... 스크립트가 아닌 제품을 삽입 할 사용자가 될 것입니다. – Gravy
솔직히 스크립트가 ID 처리를 방해하는 것을 볼 수는 없지만 어쨌든 대답을 제공했습니다. –