私は次の表を持っています
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,*) を検索して結果を返す必要があります。
現在、このために 2 つのクエリを実行していますが、これを 1 つのクエリにまとめることができますか?