mariadb IF 스테이트먼트 오류 메시지?
SQL 쿼리를 테스트합니다.
IF 3 = 3 THEN
SELECT 'TRUE'
ELSE
SELECT 'FALSE'
END IF;
SQLyog에서 그 쿼리를 삭제했습니다.
아래와 같은 에러 메세지가 표시됩니다.
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 'ELSE SELECT
'FALSE' END IF' at line 3
그 질문은 매우 간단합니다.에러 메세지가 표시되는 이유를 알 수 없습니다.
IF
그 자체는 쿼리가 아니므로 독립 실행형 문으로 실행할 수 없습니다.
두 가지 다른 점이 있습니다.IF
사용할 수 있습니다.
하나는 복합문에서의 조건부 구성이다.저장된 루틴에서 사용할 수 있습니다.
DELIMITER $
CREATE PROCEDURE pr()
BEGIN
IF 3 = 3 THEN
SELECT 'TRUE';
ELSE
SELECT 'FALSE';
END IF;
END $
DELIMITER ;
CALL pr;
또는 상당히 새로운 버전의 MariaDB(10.1+)를 실행하고 있는 경우 익명 블록에서도 사용할 수 있습니다.
DELIMITER $
BEGIN NOT ATOMIC
IF 3 = 3 THEN
SELECT 'TRUE';
ELSE
SELECT 'FALSE';
END IF;
END $
DELIMITER ;
또 하나는IF
쿼리 내에서 사용할 수 있는 함수:
SELECT IF(3 = 3 THEN 'TRUE','FALSE');
다음과 같이 각 내부 문의 끝에 세미콜론이 필요합니다.
IF 3 = 3 THEN
SELECT 'TRUE';
ELSE
SELECT 'FALSE';
END IF;
언급URL : https://stackoverflow.com/questions/48472328/mariadb-if-statements-error-message
'programing' 카테고리의 다른 글
가져오기되지 않은 지연 개체에서 잭슨 직렬화 방지 (0) | 2022.11.16 |
---|---|
셸 스크립트로부터의 JMX MBean 메서드 호출 (0) | 2022.11.16 |
중괄호가 있는 어레이 및 문자열 오프셋 액세스 구문은 권장되지 않습니다. (0) | 2022.11.16 |
스프링과 DB의 연결이 끊겨 복구 또는 재연결되지 않음 (0) | 2022.11.16 |
변수가 데이터 프레임인지 확인 (0) | 2022.11.16 |