2013-04-18 3 views
0

현재 두 테이블에 명령문을 저장하고 명령문을 함께 연결하는 다른 테이블이있는 데이터베이스에서 작업하고 있습니다. 첫 번째 2 개 테이블은 모든 항목의 기본 ID를 자동으로 증가 시키지만 그 ID를 연결하는 테이블에 입력하는 새 ID를 알아야합니다. SQL 삽입 자동 증가 값

Table 1 
SID  | Statement   | Language 
1 | Have a cup of coffee  | English 
2 | Have a cup of green tea  | English 

Table 2 
AID | Action 
1 | recycle the cup 
2 | feel full of cafine 
3 | throw away the cup 
4 | feel healthy 
5 | jump 

Table 3 - relationships 

SID | AID 
1 | 1 
1 | 2 
1 | 3 
2 | 1 
2 | 3 
2 | 4 

그래서 예는 다음과 같습니다

INSERT INTO actions(Action) VALUES ('Go to the pub'); 
INSERT INTO statements(statement, Language) VALUES ('Have a pint', 'English'); 

의 관계는 다음 것,이 예를 들어, 자동 증가 값을 알고 3, 6 같습니다

INSERT INTO Relationships(SID,AID) VALUES (3,6); 

내가 필요 값 3과 6을 다음과 같은 문구로 변수로 삽입해야합니다.

INSERT INTO Relationships(SID,AID) VALUES (id1, id2); 

답변

0

시험해보기

INSERT INTO actions(Action) VALUES ('Go to the pub'); 
SET @aid = LAST_INSERT_ID(); 

INSERT INTO statements(statement, Language) VALUES ('Have a pint', 'English'); 
SET @sid = LAST_INSERT_ID(); 

INSERT INTO Relationships(SID,AID) VALUES (@sid,@aid); 
+0

답장을 보내 주셔서 감사합니다. 그러나이 코드를 실행할 때 오류 코드 : 1064. SQL 구문에 오류가 있습니다. 올바른 구문을 사용하는 MySQL 서버 버전에 해당하는 설명서를 확인하십시오. 'declare v_aid integer, v_sid integer'1 행에 있습니다. – Jon8672

+0

@ Jon8672, 내 코드를 편집했습니다. 업데이트 된 버전을 시도하십시오. –

+0

감사합니다. – Jon8672