MySQL“IF NOT EXISTS”

时间:2017-09-07 07:04:45

标签: php mysql

我在SQL语法中遇到错误,但我没有看到它。

$query        = "IF NOT EXISTS ( SELECT id FROM Provider 
                 WHERE name=('$filename') )
                 INSERT INTO Provider (Name) VALUES ('$filename')";

$query_result = mysqli_query($connect, $query);

代码

INSERT INTO Provider (Name) VALUES ('$filename')
如果我只使用它,

正常工作。

还有代码

SELECT id FROM Provider WHERE name=('$filename')

在我测试其值时工作正常

当我添加IF NOT EXISTS时,我有SQL语法错误,但我看不到它! 有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您不能在此上下文中使用NOT EXISTS。请尝试以下查询:

INSERT INTO Provider (Name) 
SELECT filename
FROM (SELECT ('$filename') AS filename) AS t
WHERE NOT EXISTS (SELECT id 
                  FROM Provider 
                  WHERE name=('$filename')