どのような方法が良いでしょうか?あるいは、最初に挿入されたAB00001などのフィールドをPHP + SQLでAB00000の形式にするにはどうすればよいですか?私はPHP + SQLでフォームを作成し、列の1つが "reference_nr"であり、私の全体のコードが既にID(AutoIncrement)を使って作成されているため、それを使用することはできませんそのテーブル。PHPのオートインクリメント値
私が必要とするのは、最後に使用されたものを別の別のテーブルに書き込むもので、フォームのテーブルにINSERTする前に、最後の値とインクリメント+1を選択し、その演算の結果をINSERTします。
- 別のテーブルが必要ですか、フォームのテーブルから直接選択できますか?
- 2人で同時に フォームを挿入しようとすると問題が起こると思いますか?
私は以下のあなたのリンク元ページの例と同様SQL関数LAST_INSERT_ID()を使用します。
はたぶん標準の自動インクリメント列を使用し、この値を使用しますバッキングストレージではなく、識別子の* display *を与えられた接頭辞で指定された幅にフォーマットするだけですか? – David
または、2つのクエリを使用します。1)DB内のユーザーをINSERTして、ID($ mysqli-> insert_id)を取得します。 2)IDに基づいて正しいAB00をユーザーに提供するようにユーザーを更新します。 – verjas
mysqlは平易な整数の自動インクリメント値しか作成できません。複合値/文字列は作成されません。ポストインサートトリガを使用して、テーブルの他のフィールドの合成値を作成する必要があります。 –