2012-12-05 13 views
1

나는 두 데이터베이스의 테이블이 있습니다다른 테이블의 도움으로 MySQL의에서 열을 업데이트

첫 번째 테이블 : 학생들

Field   Type   Null Key Default 
id    int(11)  NO  PRI NULL 
class_id  int(11)  NO  PRI NULL 
admission_id int(11)  NO  PRI NULL 
school_id  int(11)  NO  PRI NULL 
name   varchar(64) YES   NULL 
admin_date  datetime  YES   NULL 

두 번째 테이블 : 지금 내가 원하는 입학

Field   Type   Null Key Default 
id    int(11)  NO  PRI NULL 
class_id  int(11)  NO  PRI 1 
school_id  int(11)  NO  PRI NULL 
name   varchar(64) YES   NULL 
admin_date  datetime  YES   NULL 

을 나중에 테이블에 소개 한 입장 테이블의 class_id 열을 채우십시오. 기본적으로 모든 class_id는 1로 설정되므로 학생별로 업데이트해야합니다.

당신이 장소 어디에서 저를 도와 줄 수 외래 키 제약 조건이 실패

Update Admission 
    set class_id = (select class_id from Students where Students.school_id = Admission.school_id); 

그리고 난 오류 메시지 : ERROR 1452 (23000)를 : 추가 또는 자식 행을 업데이트 할 수 없습니다 내가하고 있던 난 칼럼을 채우기 위해 잘못되었거나 다른 대안이 될 것입니다. 사전

답변

3

에서 덕분에이 ::

Update Admission 
inner join Students on (Students.school_id = Admission.school_id) 
    set Admission.class_id = Students.class_id 
+0

@Karan을보십시오 : 당신은 가장 환영 –

관련 문제