student_id
필드에 값을 여러 개 저장하지 마십시오. 각 행 및 열 교차에 정확히 하나의 값이 필요하므로 First Normal Form이 필요합니다. 이것은 여러 가지 이유로 좋은 일이지만 분명한 이유 중 하나는 student_id
이 "1245
"인 사례를 처리해야하는 문제를 해결한다는 것입니다.
대신이 테이블의 레코드와 연관된 학생 ID를 저장하는 별도의 테이블을 갖는 것이 훨씬 좋습니다. 예를 들어,
CREATE TABLE mytable_student_id (
mytable_id INTEGER,
student_id INTEGER
);
을 (당신은뿐만 아니라이 테이블 정의에 적절한 제약 조건을 추가 할 것) 그리고 당신은 조인 사용하여 조회 할 수있다 : 당신이 게시하지 않았기 때문에 것을
SELECT * FROM mytable JOIN mytable_student_id
ON (mytable.id=mytable_student_id.mytable_id) WHERE mytable_student_id.student_id = 245
주 student_id
필드를 포함하는 것 이외의 원본 테이블에 대한 스키마 세부 사항은이 예제의 목적을 위해 mytable
이라고 부릅니다. 기본 키 필드가 id
인 것으로 가정하면 1NF의 또 다른 요구 사항입니다).
내가 'WHERE mytable_student_id.student_id = 245'이어야한다고 생각합니다. – LHMathies