MySQL INSERT如果记录存在于另一个表中

时间:2012-12-15 22:36:14

标签: php mysql codeigniter insert

在查询中遇到一些问题,我只想保留一个查询。基本上,我有两个表,用户和关系。用户有一个ID,关系表有user_a和user_b字段,其中包含users.id值,用户将用户匹配为'user_a follow user_b'。

现在我正在使用Twitter API来吸引user_a的关注者(https://dev.twitter.com/docs/api/1/get/friends/ids),但是用户表中的人是参加活动的人,而不一定是user_a的朋友。如果users_b中存在user_b,我需要在关系表中执行INSERT。

这是我到目前为止所拥有的!

$json = file_get_contents('https://api.twitter.com/1/friends/ids.json?cursor=-1&user_id=' . $this->_attendee->id);
$response = json_decode($json);
if($response->ids){
    foreach($response->ids as $friend){
        // query goes here
    }
} 

1 个答案:

答案 0 :(得分:4)

构建一个select语句,如果用户条目存在,则返回要添加的行。然后执行INSERT INTO user_a SELECT YOUR_STATEMENT;

例如。 INSERT INTO user_a SELECT uid,“value1”,2,“some other string”FROM user_b WHERE uid = $ friend;