#1064错误:“如果然后插入”

时间:2013-09-02 10:16:11

标签: mysql

SELECT id INTO @aid 
FROM `lista` 
WHERE aname='teszt' LIMIT 0,1;

IF ISNULL(@aid) 
THEN INSERT INTO `szer_k` (`id`,`a`,`b`) VALUES (NULL, 'Teszt2',10);

它说:

#1064 error

(问题是空的?)

如果@aidNULL,我会喜欢它,然后执行插入命令。

感谢。

1 个答案:

答案 0 :(得分:4)

因为您正在检查ISNULL(@aid)。 如果它是NULL,则只会触发Insert语句。在values条款中@aid存在。哪个是NULL并已经检查过。因此,将@aid替换为NULL

SELECT id INTO @aid 
  FROM lista 
 WHERE aname='teszt' LIMIT 0,1; 

IF ISNULL(@aid) THEN 
  INSERT INTO szer_k (id,a,b) 
  VALUES (NULL, 'Teszt2',NULL);
END IF

更新:

你最后错过了END IF。 的 See here Syntax