2013-07-30 3 views
0

나는 내 관리자, 클라이언트, 기술자 모두를위한 데이터를 저장하는 멤버라는 테이블이있는 데이터베이스를 가지고 있습니다.하지만이 테이블을 멤버로 세 개의 개별 테이블로 나누고 싶습니다. techs.members 테이블에는 관리자, 고객 및 기술자 모두에게 공통된 필드가 있습니다. 기술자는 다른 두 개의 데이터보다 많은 데이터가 있습니다.이 여분의 데이터는 techs.In 회원 테이블이라는 다른 테이블에 저장하려고합니다. ID로 필드가 있고 기술 테이블에 기술 ID로 필드가 있습니다. 내가 원하는 것은 삽입 할 때입니다. 특정 ID가 (회원 테이블에 AUTO_INCREMENT ID로) MySQL 용 테이블 기술 ID 열동시에 두 테이블에 데이터 추가

+1

어떤 RDBMS (MySql, SQL Server, Oracle 등)를 사용하고 있습니까? 그리고 '회원'테이블에'ID' 열이 어떻게 정의되어 있습니까? 'identity' ('auto_increment') 컬럼입니까? – peterm

+0

기술자 데이터를 삽입하는 데 사용하는 샘플 코드 게시 – StackTrace

+0

회원 테이블 필드와 다른 테이블 필드를 제공하여 쉽게 쿼리를 만들 수 있습니까? –

답변

3

을 기술자 삽입을하셔야 회원 테이블에 대한 기술자 데이터가 될 수 있습니다

START TRANSACTION; 
insert into members ... 
insert into admin ... (id, ...) values (last_insert_id(), ...); 
COMMIT; 

UPDATE 후
예를 들면,

START TRANSACTION; 
    insert into members (Name, Username, Password, Level, Address, Phone) 
     values ('name','username','password','level','address','12345') 
    insert into techs (techID, price, company, comments, rate, qualification) 
     values (last_insert_id(), 10, 'company', 'comment', 1, 'qualification'); 
    COMMIT; 

회원 ID는 auto_increment 필드이기 때문에 자동으로 생성됩니다.

+0

@clarkson 업데이트를 참조하십시오. – Alex

관련 문제