更新不在另一个表中的所有帖子

时间:2014-11-04 16:47:20

标签: mysql

我有这张表: -

an_post

ID   Name   Body   Pic   DateCreate

表2是: -

an_taxonomy

PostId   TaxId

我们必须在table 1中记录所有记录table 2,该值为( "10" , "1" )

其中10PostId1TaxID

如何从table 2table 1添加( "post_id" , "1")所有帖子,而不是之前添加。

必须在table 2

中不重复记录

1 个答案:

答案 0 :(得分:0)

如果PostId是an_taxonomy表上的唯一索引,那么只需执行

INSERT IGNORE INTO an_taxonomy (PostId, TaxId)
SELECT ID, 1
FROM an_post

如果没有,则应检查该行是否已存在。这样的事情: -

INSERT INTO an_taxonomy (PostId, TaxId)
SELECT a.ID, 1
FROM an_post a
LEFT OUTER JOIN an_taxonomy b
ON a.ID = b.PostId
AND b,TaxId = 1
WHERE b.PostId IS NULL