我有一个跟随系统,允许用户互相关注。我正在使用php pdo,因此它不支持多行查询,而是需要一个长查询。目前我正在使用以下代码
$query = $db->query("SELECT id FROM follow WHERE user1 = 'kim' AND user2 = 'tim' ");
if($query->rowCount() > 0 ){
$db->query("DELETE * FROM follow WHERE user1 = 'kim' AND user2 = 'tim' ");
}else{
$db->query("INSERT INTO follow (user1,user2) VALUES ('kim','tim') ");
}
所以我想要的是一个长查询而不是多个查询语句。除了我需要的长查询外,我还需要获取指示记录是插入还是删除的数据。(也许这个问题是重复的,但这是不重复的部分)我怎样才能实现它?
答案 0 :(得分:0)
这是"长查询"
IF EXISTS (SELECT id FROM follow WHERE user1 = 'kim' AND user2 = 'tim' )
BEGIN
DELETE * FROM follow WHERE user1 = 'kim' AND user2 = 'tim'
END
ELSE
BEGIN
INSERT INTO follow (user1,user2) VALUES ('kim','tim')
END
如果它太长了"长"把它放在存储过程中。