エントリが倍増する場合はどうすればよいですか?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. 重複エントリMPAndroidChart
- 2. PHP MYSQL重複エントリを確認する
- 3. DBの重複エントリ
- 4. mysql複製の重複エントリ
- 5. コンボボックス重複エントリとバインディング
- 6. Mysqlの重複行のエントリ
- 7. キー 'PRIMARY'の重複エントリ '6343'
- 8. キー 'PRIMARY'の重複エントリ
- 9. ListViewの重複したエントリ
- 10. JDO /重複エントリ例外
- 11. #1062 - キー1の重複エントリ '1' - 重複エントリが見つかりません
- 12. 複数列の重複エントリのチェックMySQL
- 13. PHP/MySQL - 重複エントリを持つローを更新する
- 14. 重複エントリのエラーを操作する - MySQLとPHP
- 15. MySQLで重複エントリを確認する
- 16. JPA EntityExistsExceptionマージ時に重複するエントリ?
- 17. JPA/Hibernateでキー 'PRIMARY'の重複エントリ
- 18. JAVA:ArrayListへの重複エントリの防止
- 19. バイナリ検索ツリーの重複したエントリ
- 20. C#/ SQL重複したエントリのチェック
- 21. mysqlのキー1の重複エントリ '0'
- 22. Ruby on Rails2.3.8:キーの重複エントリ 'MyString'
- 23. SQLAlchemy - 一括挿入無視: "重複エントリ"
- 24. mysqlのキー 'PRIMARY'の重複エントリ
- 25. テーブル内の重複エントリの検索
- 26. Drupal:キー2の重複エントリ ''クエリ:
- 27. MySQLのテーブルに重複したエントリ
- 28. Alfresco Exception by MySQLIntegrityConstraintViolationException:重複したエントリ...等
- 29. mysqlの重複エントリの挿入をスキップ
- 30. キー 'PRIMARY'の重複したエントリ '...'
@MichaelMior半分の仕事を引き渡して、何らかの小切手を組み立ててERRORSを返さないようにしたいのであれば、そうですね...このステップを省略できると思います。しかし、適切なアプリケーションを構築したい場合は、実際にエラーが発生しないようにしてください。 – Oldskool
正常に処理されている限り、エラーが発生しても何の問題もありません。特に共通のケースにエラーがない場合。不要なオーバーヘッドと複雑さを追加するだけです。 –
@MichaelMiorそれはかなり正確に私のポイントですが、エラーは**適切に処理する必要があります**。挿入する前に重複しているキーをチェックしていなければ、それを処理していません。 – Oldskool