私はフォームのmySQLテーブルを持っています
entryID (PK), UserID, entryName
各ユーザー (自分のユーザー ID で定義) は、このテーブルに任意の数のエントリを作成できますが、各ユーザーの entryName は一意である必要があります。ユーザーがすべての entryNames を一度に変更できるようにしたいと考えています。そのため、編集可能な複数の entryName フィールドを持つフォームをユーザーに提示します。
問題は、これをデータベースにコミットしようとするときです。場合によっては、行ごとに更新することはできません。
1, 1, Entry1
2, 1, Entry2
なり
1, 1, Entry2
2, 1, Entry3
Entry1 を Entry2 に名前変更しようとすると、エラーが発生します。現在、指定された UserID を持つすべての行を読み取り、それらを削除して、各行を再作成しています。これは機能します。ただし、この方法の問題点は、ユーザーがスクリプトでエラーを引き起こした場合、そのユーザーのすべてのエントリが削除されてしまい、失われてしまうことです。そして、これは悪いことです。これをどのように解決しますか?