[MySQL] WHERE 절의 IN 조건이 비어 있으면
WHERE 절에서 아래와 같이 OR를 여러 번 쓰며 같은 변수를 다루는 조건문들을
... WHERE id = 1 OR id = 15 OR id = 52 OR id = 101 ...;
IN 연산자를 써서 간단하게 나타낼 수 있다.... WHERE id IN (1, 15, 52, 101) ...;
IN을 쓰는 방법은 OR를 쓰는 방법보다 간결하고 처리 속도도 빠르다. IN 조건에 아래처럼 SELECT 문이 들어가는 버금물음(서브쿼리)을 넣을 수도 있다.
... WHERE id IN (SELECT entry FROM itemlist WHERE entry < 100) ...;
하지만 아래처럼 IN 조건 안이 빈 SQL 문장을 실행하면 오류가 일어난다.
... WHERE id IN ( ) ...;
만약 MySQL을 이용하는 PHP 프로그램에서 IN 연산자의 조건을 채우지 않는 실수를 했다면, 아래와 비슷한 PHP 오류문이 나올 수 있다.
PHP Fatal error: Uncaught mysqli_sql_exception: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '...' at line 1 in /.../...php:259
덧글을 달아 주세요