ホームページ > データベース > mysql チュートリアル > MySQL への挿入時に文字列と主キー ID を連結するにはどうすればよいですか?

MySQL への挿入時に文字列と主キー ID を連結するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-13 10:47:02
オリジナル
799 人が閲覧しました

How to Concatenate a String and Primary Key ID During Insertion in MySQL?

挿入中に文字列と主キー ID を連結する

提供されたコードで示されているように、MySQL テーブルへのデータの挿入は簡単です。ただし、自動増分主キー ID (user1、user2、user3 など) と連結された「user」としてユーザー名を作成する場合、直接的なアプローチにはいくつかの考慮が必要です。

連結の制限事項:

  • AUTO_INCREMENT の制限事項: 主キーは挿入操作が終わるまで生成されないため、トリガー手法では最初の挿入中に連結された値を割り当てることができません。

代替アプローチ:

この制限に対処するには、次の手順を実行できます:

  1. データを挿入します。 指定された INSERT ステートメントを実行します。
  2. 挿入された ID を取得します。 mysqli_insert_id() 関数を使用して、自動生成された ID を取得します。
  3. ユーザー名を更新します: UPDATE ステートメントを実行して、「ユーザー」文字列と取得した ID を連結します:
$query = 'UPDATE `users` SET `username` = CONCAT("user", ?) WHERE `id` = ?';
$stmt = $mysqli->prepare($query);
$stmt->bind_param("ii", $id, $id);
$stmt->execute();
ログイン後にコピー

非 AUTO_INCREMENT ID に関する考慮事項:

user_id が AUTO_INCREMENT 値でない場合は、insert ステートメントのパラメーターとして渡す前に、PHP コードで「user」文字列と指定された ID を直接連結できます。

追加の注意事項:

  • この場合、主キーの自動インクリメントの性質によりエラーが発生するため、MySQL 5.7 で生成されたカラムの使用はオプションではありません。
  • この 2 段階のアプローチにより、最初の挿入後にユーザー名が正しく更新されることが保証されます。

以上がMySQL への挿入時に文字列と主キー ID を連結するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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