我試圖做一個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');
我試圖做一個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');
你缺少的代碼塊正確的語法。 它應該包含BEGIN .. END
和IF ... 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
我在「IF(@count = 1)THEN」行出現錯誤: 您的SQL語法錯誤;檢查與您的MySQL服務器版本相對應的手冊,以在'IF(@broj IS NULL)THEN'附近使用正確的語法。 –
對不起,sql代碼需要在觸發器或過程中運行。它可以作爲一個簡單的查詢。 該代碼完美無缺,「Declare @count INT;」線。 –
什麼是th錯誤? –