ホームページ  >  記事  >  データベース  >  MySQL/PHP に挿入する前に自動インクリメント値を取得するにはどうすればよいですか?

MySQL/PHP に挿入する前に自動インクリメント値を取得するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-28 05:43:02892ブラウズ

How to Retrieve Auto-Increment Values Before Insertion in MySQL/PHP?

MySQL/PHP に挿入する前に自動インクリメント値を取得する

ストレージ サーバーにイメージをアップロードする場合、多くの場合、自動インクリメント値を含めることが望ましいです (例: 12345) をファイル名に含めます。ただし、挿入を実行する前にこの値を取得するのは難しい場合があります。

提案された解決策

考えられる解決策の 1 つは次のとおりです。

  1. テーブルに空の行を挿入する.
  2. 新しい行の自動インクリメント値を取得します。
  3. 空の行を削除します。
  4. 取得した自動インクリメント値を使用して実際のデータを挿入します。

代替アプローチ

より一般的に使用されるアプローチには、次のものが含まれます。

  1. 部分データをテーブルに挿入します。
  2. 生成された自動インクリメント値を取得します。
  3. 自動インクリメント値に基づいて計算を実行します。
  4. WHERE 句の自動インクリメント値を使用して、最終データで行を更新します。

セキュリティを強化するには、これらの操作をトランザクション内で実行し、プロセスが完全に完了するか、まったく実行されないことを確認することが重要です。

疑似コード

begin transaction
insert into your_table (partial_data);
$id = get last autoincrement id
do calculations
update your_table set data = full_data where id = $id
commit transaction

以上がMySQL/PHP に挿入する前に自動インクリメント値を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。