2008-10-22 5 views
1

사용자 세부 정보와 이미지 세부 정보가 모두 업로드되는 양식이 있습니다. 사용자 테이블과 이미지 테이블에 데이터를 쓰고 싶지만 두 개의 별도 insert 문으로는 수행 할 수 없다고 확신합니다. 어떤 도움이라도 대단히 감사 할 것입니다.두 개의 서로 다른 테이블에 데이터를 삽입하는 방법은 무엇입니까?

+0

마음에 들지 않는 두 개의 INSERT 문을 사용하는 이유는 무엇입니까? – DOK

답변

4

먼저 사용자를 삽입 한 다음 "SELECT LAST_INSERT_ID()"를 실행하여 사용자의 ID를 검색해야합니다. 그런 다음 새로 생성 된 사용자 ID로 이미지 테이블에 이미지를 삽입 할 수 있습니다. PHP에서는 실제로 mysql_insert_id()을 사용하여 새 ID를 검색 할 수 있습니다. mysql을 InnoDB와 함께 사용하는 경우, BEGIN 다음에 INSERT를 발행하고, 모든 것이 성공적으로 추가되면 COMMIT, 실패 할 경우 ROLLBACK을 발행하여 transaction에 삽입을 래핑 할 수도 있습니다.

0

왜 할 수 없습니까? 너 해봤 어? 사용자 테이블에 삽입 한 다음 이미지 테이블에 삽입합니다 ... 전혀 문제가 없습니다.

유일한 경고는 트랜잭션에서 삽입을 래핑하여 단일 삽입으로 작동하고 함께 성공/실패해야한다는 것입니다.

0
$rec = mysql_query("insert into userdet values("$id","$username",....)"); 
if($rec) 
    mysql_query("insert into imag values("$id","$imgname",...)"); 
관련 문제