2013-04-12 2 views
0

나는 mysql 쿼리에 의문이있다. 나는 새로운 학생을 삽입하기 전에 동일한 학생의 이메일을 삽입 할 수 없다는 것을 확인하기 위해 열 이름 인 student table email을 가지고 있습니다. 하나의 쿼리를 삽입하고 하위 쿼리를 사용하여 체크인 할 수 있습니다.mysql 하위 쿼리를 찾고

하는 솔루션을

감사

올바른 방법 고유 제약 조건을 적용하는 것입니다
+0

단순히 테이블에서 select를 수행하고 이미 ex 이츠? 그렇지 않으면 단순히 UNIQUE 인덱스를 고유 한 열에 추가하면 삽입 할 때 오류가 발생합니다. – h2ooooooo

+0

student() values ​​()에 넣으려고 시도했습니다. student()에 값을 넣으려고 시도했는데 어디에서 (select count (*) from email='[email protected] '<1) – user2217726

+0

2 개의 쿼리를 피하기 위해 – user2217726

답변

0

을 발견하는 데 도움이,하지만 당신은 삽입 쿼리 수행하려는 경우, 당신은

insert into student(field1, field2, email) 
select 'value1', 'value2','[email protected]' from dual 
where not exists (select null from student where email='[email protected]') 
뭔가를 시도 할 수 있습니다하세요

참고 : 트랜잭션을 지원하는 엔진을 사용하는 경우에도 여전히 중복이 발생할 수 있습니다.

+0

student (학생 (전자 메일 = '테스트 @ gmail.com') <1 – user2217726

+0

에서 count (*)를 선택하면이 SQL을 수정할 수 있습니다 – user2217726

+0

@ user2217726 : updated ... – a1ex07

관련 문제