一意のフィールドを持つ行を挿入すると、一意のフィールドに入る値を重複する場合に異なる値に変更できますか?一意のキーに値が重複している場合は、別の値を挿入してください。
状況:ユーザーが新しい記事を追加しています。名前は複製できません。何らかの理由で、ユーザーはデータベースにすでに存在する名前を入力します。
「DUPLICATE KEY UPDATE ON」を使用している場合 - (挿入と同じ名前の)前のレコードは、(更新が発生した)他のフィールド内のすべての新しいデータを取得する - よくありません。
フィールドは一意であり、DB内の一致がある場合、挿入時に、「[DUPLICATE]名前」のようなものに挿入されている値を変更されるには何が必要です。
これは、重複の存在を明らかにし、ユーザは単に(おそらく、エラーにより重複として挿入された、)名前を変更します。あなたは(mysqliのでプリペアドステートメントを使用して)のような何かをしなければならない
インサートを試してください。失敗した場合は、一意の値を変更して再度ヒットします。 – tadman
insert文に仲介(select ... ... name = "article name")を含める方法があるので、selectは真(つまり、[duplicate] "文字列で連結名)またはfalse(名前は挿入されたまま)? – bbe
'INSERT INTO ... SELECT ... FROM'は物事なのでしょうか? – tadman