2017-10-24 10 views
0

나는 두 개의 입력이 있습니다AUTO INCREMENTED 행을 가져 와서 연관 테이블에 삽입 하시겠습니까?

Basket Name: <input type="text"> 

Fruits<select name="fruits"> 
    // Some java code that populate my drop down list from a SELECT sql 
    // that is pulling from my database table called 'Fruits' 
    // i.e. <option value='SELECT fruitID FROM fruits'> 'SELECT fruitName FROM fruits' </option>  
    ... 
    </select> 

을 그리고 난 내 <form>이 제출 될 때 동시에 다음과 같은 두 가지 SQL 삽입을 수행 할 :

SQL 1 : 을 'Baskets' 테이블에 삽입하십시오.

SQL 2 :

⨴ᚄ # 테이블 : 다음 'fruitID' (즉 <option value = "01"> Apple </option>) 연관 테이블에이

내 테이블 구조 'Baskets_Fruits'라고 삽입

basketID -> AUTO_INCREMENT의 지능 ((11)), NOT NULL

basketName -> varchar (255)

BASKETS_FRUITS 테이블 :

basketID_FK - 바구니 테이블에서 'basketID'의> 외래 키

fruitID_FK - 과일 테이블에서 'fruitID'

과일의> 외래 키 테이블 :

fruitID_FK -> AUTO_INCREMENT int (11), NOT NULL

fruitName -> VARCHAR (255)

가 어떻게 현재 basketID_FK를 자동으로 증가 참조되는 basketID 경우를 얻을 수? 나는 AUTO-INCREMENTED 컬럼의 값을 얻기위한 SQL 문법을 어떻게 코딩 할 지 잘 모르겠습니다.

편집 :

수행 내가 할 같은 :

INSERT INTO baskets_fruits (basketID_FK, fruitIDFK) 
(SELECT baskets.basketID, fruits.fruitID FROM baskets, fruits 
WHERE baskets.basketID = "Foo" AND fruits.fruitID = "BAR"); 

그러나 무엇 "Foo""Bar" 구문은 같은 것입니까?

답변

0

이 작품은 마음에 드시겠습니까? 이것은 삽입 후 분명히 나옵니다. 그런 다음에 원하는 것을 조작 할 수 있습니다.

SELECT * FROM BASKETS 
INNER JOIN BASKETS_FRUITS ON basketID = basketID_FK 
WHERE basketName = 'whatever the basket name is' 

이렇게하면 특정 basketName에 기반한 키를 얻을 수 있습니다. 필요하면 fruitID_FK를 찾을 수 있습니다.