我有如下表如何搜索一個元組中的表中的MySQL
CREATE TABLE IF NOT EXISTS `friends` (
`userid` INT NOT NULL ,
`friend` INT NOT NULL ,
`status` INT(1) NOT NULL ,
INDEX `user_id_fk_idx` (`userid` ASC) ,
INDEX `friend_id_fk_idx` (`friend` ASC) ,
PRIMARY KEY (`userid`, `friend`) ,
CONSTRAINT `user_id_fk`
FOREIGN KEY (`userid`)
REFERENCES `network`.`users` (`userid`)
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT `friend_id_fk`
FOREIGN KEY (`friend`)
REFERENCES `network`.`users` (`userid`)
ON DELETE CASCADE
ON UPDATE CASCADE)
ENGINE = InnoDB;
當我想在這個表中插入一個新的記錄,我要檢查,如果該元組已經存在。
示例:當我在表中插入(1,2,0)時,它必須在當且僅當(1,2,)或(2,1,)不存在於表中時運行。或者如果我在表格中搜索元組(1,2,),它必須搜索(1,2,)和(2,1,*)並返回結果。
目前我正在爲此運行兩個查詢,這可以結合在一個查詢中嗎?
你能告訴我更多關於雙向關係嗎? – unkn0wn 2013-04-29 01:00:57
如何在插入時實現這樣的事情? – unkn0wn 2013-04-29 01:01:30
@ user2207792查看更新的答案 – dtech 2013-04-29 01:11:30