前提
XAMPPを使用して、ブラウザからデータの登録を行いたいです。
しかし、重複したpid(ID)を登録する際にエラーが表示されてしまい、困っています。
実現したいこと
写真のようなデータをベースを作成して、XAMPPを用いて、ブラウザからデータの登録を行っています。
。
pid(ID)を主キーで設定しただけでは、重複したpid(ID)を登録する際に、
Uncaught mysqli_sql_exception: Duplicate entry 'a123' for key 'PRIMARY'
というエラーが表示されます。
このエラーを表示させずに、別ブラウザで「このIDは既に使用されています」のように表示させたいです。
発生している問題・エラーメッセージ
同じpid(ID)のデータを登録しようとした際に、登録できないクエリを使用すれば、エラーは発生しないと考えて、以下のクエリを考えたのですが、
$query = "INSERT INTO products VALUES ('{$pid}', '{$name}', '{$cost}', '{$price}') WHERE NOT EXISTS (SELECT pid, name, cost ,price FROM products WHERE pid = '{$pid}')";
操作を行ったところ、
Uncaught mysqli_sql_exception: SQL 構文にエラーがあります。
とエラーが表示されます。
SQL文のどこが構文エラーになっているのでしょうか?
何かわかる方がいらっしゃりましたら、教えて頂きたいです。
試したこと
NOT EXISTSの使い方 で検索
INSERT 重複無し で検索
補足情報(FW/ツールのバージョンなど)
Windows10、XAMPP
回答2件
あなたの回答
tips
プレビュー