INSERT INTO表IF count(*)<五

时间:2014-03-04 23:34:31

标签: mysql

我正在尝试创建一个MySQL程序,如果同一个表中的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');

1 个答案:

答案 0 :(得分: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