我有2个表,words
和lists
。
words
属于列表,是listId
字段的引用。
lists
包含username
字段。
我需要通过它id
删除一个单词,但首先需要检查用户名是否正确,因此我需要引用列表。
这是我到目前为止所做的,但它不起作用。
DELETE FROM w
USING lists AS l INNER JOIN words AS w
WHERE
l.username = 'admin'
AND w.listId = 31
AND l.id = w.listId
答案 0 :(得分:2)
DELETE w FROM words w
INNER JOIN lists l on l.id = w.listid
WHERE
l.username = 'admin'
AND w.listId = 31
答案 1 :(得分:0)
我不是100%肯定my-sql语法(我使用的是Oracle),但这应该可行:
DELETE FROM words
WHERE listid in (
SELECT 31 from lists where username = 'admin'
)
...如果您真的喜欢,可以将内部选择更改为:
SELECT listId from lists where username = 'admin' and listId = 31
(但没必要)