2014-03-04 3 views
0

동일한 테이블의 count (*)가 5 행 미만인 경우 테이블에 데이터를 삽입하는 MySQL 프로 시저를 만들려고합니다.INSERT INTO 테이블 IF count (*) <5

논리는 다음과 같습니다

Declare @count INT; 
SET @count = (SELECT COUNT(*) FROM table); 
IF (@count = 1) 
INSERT INTO table(item1, item2, item3) VALUES('item 1', 'item 2', 'item 3'); 
+0

일 전자 오류? –

답변

0

당신은 코드 블록에 대한 적절한 구문을 누락되었습니다. BEGIN .. ENDIF ... THEN .. END IF 블록을 포함해야합니다.

:

IF (@count = 1) THEN 

하려면 :

BEGIN 
    Declare @count INT; 
    SET @count = (SELECT COUNT(*) FROM table); 
    IF (@count = 1) THEN 
    INSERT INTO table(item1, item2, item3) VALUES('item 1', 'item 2', 'item 3'); 
    END IF; 
END; 

그리고 당신은 수가 적은 후 5,
변경 인 경우에만, 삽입 할 경우

IF (@count < 5) THEN 
+0

"IF (@count = 1) THEN"줄에 오류가 나타납니다. SQL 구문에 오류가 있습니다. 올바른 구문이 'IF (@broj IS NULL) THEN 근처에서 사용하도록 MySQL 서버 버전에 해당하는 설명서를 확인하십시오. –

+0

죄송합니다. SQL 코드는 트리거 또는 프로 시저에서 실행해야합니다. 간단한 쿼리로 작동 할 수 있습니다. 코드는 "Declare @count INT;"없이 완벽하게 작동합니다. 선. –