2016-11-05 2 views
-1

isbnをテーブルに追加するクエリを書いています...うまくいきますが、既に存在するisbnを挿入しようとするとエラーが発生します。値が存在するかどうかを確認するにはどうすればよいですか?ここでデータベースMysqlを更新する前に値が存在するかどうかをチェック

は私のクエリです:

$query = "INSERT INTO cart (isbn, hardcover_purchased, softcover_purchased, ebook_purchased) 
      VALUES ('0061348112', 1, 0, 0)"; 
+1

getは少なくとも1日1回お願いします。重複したキーを挿入する、置き換えない、または重複して挿入するキーを検索してください – e4c5

+0

同じ質問を何度も何度も投稿しないようにしてください。マニュアルを読み、すべての仕組みを理解する。 –

答えて

1

あなたはこのようにアップデートを実行することができます任意の行が実際に更新されたかどうかを判断するために

UPDATE Tokens 
SET refresh_token = 'C08Rbs' 
WHERE id = '2' 
AND NOT EXISTS (SELECT refresh_token FROM Tokens WHERE refresh_token ='C08Rbs') 

利用ROW_COUNT()。 id = 2の行が実際に存在すると仮定すると、値がすでに存在するため、更新された行がない場合は0が返されます。

1

ON DUPLICATE KEY UPDATEを使用することをおすすめします。例:

$query = 'INSERT INTO cart (isbn, hardcover_purchased, softcover_purchased, ebook_purchased) VALUES ('0061348112', 1, 0, 0) ON DUPLICATE KEY UPDATE isbn=isbn;'; 
関連する問題