如果另一个表中不存在记录,则插入一个表

时间:2014-05-30 21:59:29

标签: php mysql sql

如何将这两个问题合二为一?如果另一个表中不存在记录,则插入记录。我试过谷歌搜索,但我只找到使用连接的解决方案,而不是在这里,我想这两个表之间没有关系。我仍然可以使用单个查询插入其中

$res = mysqli_query($con,"SELECT 1 FROM bicds WHERE (bid = $pid] AND uid = $eid)
       OR (bid = $eid AND uid = $pid) LIMIT 1");

if(mysqli_num_rows($res) == 0){
    mysqli_query($con,"Insert into t1 (pid,ust) values ($pid,$ust)");
 }

非常感谢任何帮助。感谢

2 个答案:

答案 0 :(得分:2)

您可以使用insert . . . select

执行此操作
Insert into t1(pid, ust) 
    select $pid, $ust
    from dual
    where not exists (select 1 from bicds where bid = $pid AND uid = $eid);

这允许您在where中包含insert子句。

答案 1 :(得分:0)

您可以尝试在查询中使用CASE条件以及检查行数作为条件。

   select (count *) from FROM bicds WHERE (bid = $pid] AND uid = $eid)
   OR (bid = $eid AND uid = $pid) LIMIT 1")

如果表不存在,则为0或NULL。