在这种情况下,我应该如何使用外键从不同的mysql表中删除数据


What should I do for deleting data from different mysql table with foreign key in this situation?

表:关键字(id,term)

表:ob_key(id,user_id,key_id)

(ob_key.key_id)引用(key.id)

我想删除基于(ob_key.user_id)和关键字(term)的(ob_key.id),所以在下面创建一个select语句,但它不起作用

<?php
$term=strtolower($_POST['term']);
$user_id=$_POST['users_id'];
$stmt=$db->prepare("DELETE FROM ob_key WHERE user_id=:user_id AND key_id=(SELECT id FROM keyword WHERE term=:term)");
    $stmt->bindParam(":user_id",$user_id);
    $stmt->bindParam(":term",$term);
            $stmt->execute(); 
?>

edit:

$stmt=$db->prepare("DELETE FROM ob_key WHERE user_id=:user_id AND key_id IN (SELECT id FROM keyword WHERE term=':term')");

问题是我们必须使用IN而不是等于(=)