MySQL でユーザー名を自動インクリメント主キーと連結するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-10 12:13:03
オリジナル
948 人が閲覧しました

How to Concatenate Username with Auto-Incrementing Primary Key in MySQL?

挿入時にユーザー名と主キーを連結する

MySQL ユーザー テーブルにデータを挿入するとき、ユーザー名を主キーと連結するという課題に直面することがあります。自動インクリメントの主キー フィールド。その結果、「user1」、「user2」などの規則的なユーザー名が生成されます。 の上。この質問では、この連結を実現するための巧妙なアプローチを検討します。

問題の定義

リテラル文字列「user」と自動増分プライマリを組み合わせたユーザー名形式が必要です。キーID。これによりユーザー名の順序が確実に保証されますが、データ挿入にプリペアド ステートメントを使用するというコンテキストで疑問が生じます。

解決策

提供された解決策は、直接連結することを強調しています。主キー生成のタイミングにより、単一の SQL ステートメントで ID を含むユーザー名を使用することはできません。解決策の内訳は次のとおりです。

  • user_id が自動インクリメント主キーの場合、単一のステートメントを使用して連結を実行することはできません。これは、挿入前トリガーの実行後に自動インクリメント値が生成され、挿入後トリガーでユーザー名を変更できないためです。
  • したがって、推奨されるアプローチには、最初に挿入を実行することが含まれます。その後に即時更新クエリが続きます。これにより、ユーザー名を挿入クエリから取得した user_id 値「user」として設定できます。
  • user_id が自動インクリメントフィールドではなく手動で指定された場合は、PHP コードで単純に連結を実行できます。準備されたステートメントに値をパラメーターとしてバインドする前に。

注: ソリューションでは、次のことにも言及しています。 MySQL 5.7 で生成されたカラムをこの目的で使用することは、自動インクリメント カラム参照に関連するエラーのため不可能です。

以上がMySQL でユーザー名を自動インクリメント主キーと連結するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート