2012-02-10 4 views
0

간단한 요청처럼 보입니다. 그러나 작동하지 않는 쿼리와 인터넷에서 충돌하는 대답을 찾고 있습니다. MySql에서 2 개의 테이블을 결합하는 저장 프로 시저를 사용하여 UPDATE 및 INSERT를 수행 할 수 있습니까?MySql의 저장 프로 시저를 사용하여 2 개의 테이블을 업데이트하십시오.

나는 Asp.net Webforms 웹 사이트를 가지고 있습니다. 그것에는 2 개의 테이블 개인 및 주소가있다. 개별 표에는 개인의 데이터 (예 : 전화 번호, 팩스, 이메일 등)가 들어 있습니다. 주소 테이블에는 개인에 대한 모든 주소 정보가 있습니다. 각 테이블에는 자동으로 증가하는 개별 ID 열이 있습니다. (참고 : 주소 테이블의 individualID는 기본 키가 아니지만 개별 테이블의 individualID는 기본 키입니다.

어쨌든, 나는이 두 테이블을 조인하는 SELECT 문과 함께 Asp.net의 FormView를 가지고 있습니다. 실패한 계속 데이터 벌금을 표시하지만 두 테이블에 새로운 정보를 업데이트

내 가장 최근의 오류는 다음과 같습니다.. 중복 항목을 '0'키 'PRIMARY'

에 대한 조인 UPDATE 문을 작성하는 방법이 있나요 2 테이블 ??이 테이블은 존재해야합니까?

+0

SQL Update 문은 하나의 테이블 만 업데이트 할 수 있습니다. 두 가지 작업을 수행하려면 하나의 테이블을 업데이트 한 다음 다른 트랜잭션을 업데이트해야합니다. 두 번째 트랜잭션이 실패하면 첫 번째 트랜잭션을 롤백 할 수 있습니다. –

답변

1

단일 테이블로 여러 테이블을 업데이트 할 수 있습니다 uery -

UPDATE table1 
INNER JOIN table2 
    ON table1.id = table2.table1_id 
SET table1.col1 = 'some value', table2.col1 = 'Another value' 
WHERE <some where clause>; 
+0

무슨 뜻인지 알아? 어떤 사람들은 다른 사람들이 그렇게 말할 수는 없다고 말합니다. –

+0

내가 추가 할 때 Set table1.col1 = 'somevalue'일부 값은 내가 통과하는 variablename입니까? Fname 같은? 또는 Lname? –

+0

:-) 확실히 가능합니다. 나는 그것을 게시하기 전에 확인하기 위해 그것을 확인했다. 'somevalue'는 변수에서 오는 열에 할당하려는 값입니다. – nnichols

관련 문제