微观优化我知道,这更多是因为我很好奇。
我有两个链接表,
blog_categories_posts => post_id, category_id
blog_tags_posts => post_id, tag_id
我将根据post_id
DELETE FROM blog_categories_posts WHERE post_id = {$id};
DELETE FROM blog_tags_posts WHERE post_id = {$id};
无论如何,我想知道是否可以立即从两个表中删除,以及它是否会是一个性能(虽然是微观)命中或获得?
我想如果它能起作用:
DELETE FROM blog_categories_posts, blog_tags_posts where post_id = {$id}
或类似的语法?
答案 0 :(得分:0)
语法在mysql网站上:Delete Syntax
DELETE FROM tbl1, tbl2
USING tbl1
JOIN tb2 USING (id)
WHERE id = :id
因此,对于您的示例,它将是:
DELETE FROM blog_categories_posts, blog_tags_posts
USING blog_categories_posts
JOIN blog_tags_posts USING (post_id)
WHERE post_id = $id
添加许多表格也很容易:
DELETE FROM tbl1, tbl2, tbl3, tbl4, tbl5
USING tbl1
JOIN tb2 USING (id)
JOIN tb3 USING (id)
JOIN tb4 USING (id)
JOIN tb5 USING (id)
WHERE id = :id