表:关键词(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();
?>
最佳答案
编辑:
$stmt=$db->prepare("DELETE FROM ob_key WHERE user_id=:user_id AND key_id IN (SELECT id FROM keyword WHERE term=':term')");
问题是我们必须使用 IN 而不是等号 (=)
关于php - 在这种情况下,如何从具有外键的不同 mysql 表中删除数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28612087/