如果postid不存在,MySQL将记录插入到一​​个表到另一个表

时间:2019-02-01 07:45:03

标签: mysql

如果我不希望在<a href="https://google.es" id="RequiredLink" target="_blank">Required Link</a> <asp:Button ID="Button1" runat="server" Text="Next" /> <script> $('#<%= Button1.ClientID %>').prop('disabled', true); $('#RequiredLink').click(function () { $('#<%= Button11.ClientID %>').prop('disabled', false); }); </script> 中插入postid表中的postsstar_ratings表中,是否可以用比此更好的方式来编写查询postid表。

star_ratings

2 个答案:

答案 0 :(得分:1)

以下EXISTS查询可能的执行情况要比您的查询稍好:

INSERT INTO star_ratings (post_id)
SELECT p.postid
FROM posts p
WHERE
    p.type IN ('D', 'B') AND
    NOT EXSITS (SELECT 1 FROM star_ratings s WHERE p.post_id = s.post_id);

答案 1 :(得分:0)

您也可以尝试使用左联接

INSERT INTO star_ratings(post_id) 
SELECT postid FROM posts left join star_ratings on posts.postid=star_ratings.post_id 
WHERE type in ('D', 'B') and star_ratings.post_id is null