エントリが倍増する場合はどうすればよいですか?php - 重複エントリ
0
A
答えて
3
これはyoutアプリケーションのビジネスロジックに依存します。
重複したエントリについてユーザに通知したり、INSERT ... ON DUPLICATE KEY UPDATE ...
SQL文で情報をサイレントに更新することができます。
0
基本的には、主キーフィールドに挿入しようとしている値が既に存在するかどうかを確認する必要があります。
プライマリキーフィールドがsubject_idの場合、selectクエリを実行してPHPのmysql_num_rows
関数を実行して、すでに存在するかどうかを確認する必要があります。例:
$subject_id = 1337;
$check = mysql_query("SELECT `subject_id` FROM `examsubjectrecord_table` WHERE `subject_id`=" . $subject_id);
// See if anything was returned
if(mysql_num_rows($check) > 0) {
// We have something with this subject_id already!
echo "Cannot insert duplicate subject!";
} else {
// All clear, run your INSERT query here
}
0
どの列が主キーですか?私はそれがsubject_id
と仮定するつもりです。これは、テーブルの各行に対して一意である必要があります。これを確実にする最も簡単な方法は、AUTO_INCREMENTを使用してから、subject_id
を挿入することを避けることです。自動的に割り当てられます。
新しい科目のIDが何であるかを調べる必要がある場合は、mysql_insert_id
を使用できます。
1
データベースには、重複していないsubject_id
の主キーがあります。
subject_id
列に重複が必要な場合は、列を追加してデータベースの主キーとして設定する必要があります。たとえば、別の列unique_id
を追加し、auto_increment
に設定し、行識別の主キーとして設定します。
関連する問題
- 1. 重複エントリの取得java.util.zip.ZipException:重複エントリ:
- 2. PHP MYSQL重複エントリを確認する
- 3. ワードプレスメディアアップロードデータベースエラー重複エントリ
- 4. 重複エントリMPAndroidChart
- 5. パーセルZipException "重複エントリ"
- 6. DBの重複エントリ
- 7. ManyToManyFieldの重複エントリ
- 8. mysqlの重複INSERTエントリ
- 9. mysql複製の重複エントリ
- 10. コンボボックス重複エントリとバインディング
- 11. MYSQL重複したエントリ
- 12. ListViewの重複したエントリ
- 13. ビルド時の重複エントリ
- 14. ProGuardの重複ZIPエントリ
- 15. Spring統合フィードインバウンドチャネルアダプタ重複エントリ
- 16. カスタムエラー重複したエントリが
- 17. ZipException:重複エントリ例外
- 18. com.android.build.api.transform.TransformException:java.util.zip.ZipException:重複エントリ:com/facebook/AccessToken.class
- 19. datagridviewに重複したエントリ
- 20. JDO /重複エントリ例外
- 21. TransformException:java.util.zip.ZipException:重複エントリ:com/activeandroid/ActiveAndroid.class
- 22. キー 'PRIMARY'の重複エントリ
- 23. キー 'PRIMARY'の重複エントリ '6343'
- 24. Android Studioのビルドエラー重複エントリ
- 25. Sitecore Lucene - 重複したエントリ
- 26. Mysqlの重複行のエントリ
- 27. Timeseriesオブジェクト重複するエントリ
- 28. #1062 - キー1の重複エントリ '1' - 重複エントリが見つかりません
- 29. 複数列の重複エントリのチェックMySQL
- 30. 重複エントリのエラーを操作する - MySQLとPHP
@MichaelMior半分の仕事を引き渡して、何らかの小切手を組み立ててERRORSを返さないようにしたいのであれば、そうですね...このステップを省略できると思います。しかし、適切なアプリケーションを構築したい場合は、実際にエラーが発生しないようにしてください。 – Oldskool
正常に処理されている限り、エラーが発生しても何の問題もありません。特に共通のケースにエラーがない場合。不要なオーバーヘッドと複雑さを追加するだけです。 –
@MichaelMiorそれはかなり正確に私のポイントですが、エラーは**適切に処理する必要があります**。挿入する前に重複しているキーをチェックしていなければ、それを処理していません。 – Oldskool