2014-03-04 104 views
0

我試圖做一個MySQL程序,它會將數據插入到表中,如果同一個表的count(*)少於5行。INSERT INTO table 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

什麼是th錯誤? –

回答

0

你缺少的代碼塊正確的語法。 它應該包含BEGIN .. ENDIF ... THEN .. END IF塊。

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 = 1) THEN 

要:

IF (@count < 5) THEN 
+0

我在「IF(@count = 1)THEN」行出現錯誤: 您的SQL語法錯誤;檢查與您的MySQL服務器版本相對應的手冊,以在'IF(@broj IS NULL)THEN'附近使用正確的語法。 –

+0

對不起,sql代碼需要在觸發器或過程中運行。它可以作爲一個簡單的查詢。 該代碼完美無缺,「Declare @count INT;」線。 –