Php MySQL“如果不存在”
我在SQL语法中有错误,但我没有看到它Php MySQL“如果不存在”,php,mysql,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
$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语法错误,但我看不到它!
有什么想法吗?您不能使用,因为在此上下文中不存在。请尝试以下查询:
插入到提供者名称中
选择文件名
从中选择“$filename”作为文件名t
如果不存在,请选择id
来自提供者
其中name=“$filename”
你有语法错误,因为你根本不能这么做。如果不存在,你会怎么办?我有逻辑错误。我现在明白了,实际上我不需要选择id。我有表提供程序,文件名是提供程序名,我只想检查名称是否已经在表中,如果不在,然后放入记录,如果不在,只是跳过。在我的例子中,我想询问表中是否已经存在文件名。NOT exists运算符的SELECT子句的字段,在本例中id不起任何作用。您可以使用SELECT 1来代替。