【PHP】MySQLは挿入データの主キー(自己増加ID)を取得する、mysql主キー_PHPチュートリアル
【PHP】MySQLは挿入されたデータの主キー(自己増加ID)、mysql主キーを取得します
DB設計時には主キーの競合を防ぐため、オートインクリメント(auto_increment型)フィールドがよく使われます。したがって、データを挿入する前には、レコードの主キーが何であるかわからないことがよくあります。後続のクエリまたはカスケード クエリを容易にするために、レコードの行を挿入した後に DB によって自動的に生成された主キーを取得する必要があります。以下にいくつかの方法があります:
- DBでクエリ
この方法の欠点は、高い同時実行性に適していないことです。同時に挿入した場合、返される値は正確ではない可能性があります。
MySQL:
リーリー重要: INSERT ステートメントを使用して複数の行を挿入する場合、LAST_INSERT_ID() はデータの最初の行が挿入されたときに生成された値のみを返します。その理由は、他のサーバーに依存して同じ INSERT ステートメントを複製することが容易になるためです。
MS-SQL サーバー:
リーリー@@identity は、ID 属性を持つテーブルにデータが最後に挿入されたときの、対応する自動インクリメント列の値を表します。これは、 システム によって定義されるグローバル変数です。通常、システム定義のグローバル変数は @@ で始まり、ユーザー定義変数は @ で始まります。たとえば、テーブル A があり、その自動インクリメント列が id であるとします。テーブル A にデータ行が挿入されると、データの挿入後に自動インクリメント列の値が 101 に自動的に増加すると、選択した値が返されます。 @@identity は 101 です。 @@identity を使用するための前提条件は、挿入操作の実行後、select @@identity を実行するときに接続が閉じられていないことです。そうでない場合、結果は NULL 値になります。
追加:
SCOPE_IDENTITY、IDENT_CURRENT、および @@IDENTITY は、すべて IDENTITY 列に挿入された値を返すという点で機能的に似ています。
IDENT_CURRENT はスコープとセッションによって制限されませんが、指定されたテーブルによって制限されます。 IDENT_CURRENT は、任意のセッションおよびスコープ内の特定のテーブルに対して生成された値を返します。詳細については、「IDENT_CURRENT」を参照してください。
SCOPE_IDENTITY と @@IDENTITY は、現在のセッションのテーブル内で生成された最後の ID 値を返します。ただし、SCOPE_IDENTITY は現在のスコープに挿入された値のみを返します。@@IDENTITY は特定のスコープに制限されません。
- サーバー言語クエリ
追加:
PHP-MySQL は、MySQL データベースを操作するための PHP のオリジナルの拡張機能です。PHP-MySQLi の i は Improvement を意味し、拡張機能に関する限り、セキュリティも向上します。
a. Mysql は mysqli の概念に関連しています:
- Mysql と mysqli は両方とも PHP 関数セットであり、MySQL データベースとはほとんど関係がありません。
- php5 バージョンより前は、mysql データベースを駆動するために php の mysql 関数が一般的に使用されていました。たとえば、mysql_query() 関数はプロセス指向です。 3. php5 バージョン以降、mysqli の関数関数が追加されました。ある意味、これは mysql システム関数の強化版であり、より安定し、効率的で安全な mysql_query() に対応する mysqli_query() はオブジェクト指向であり、オブジェクトを使用して mysql データベースを操作および駆動します。
b. mysql と mysqli の違い:
- mysql は、接続するたびに接続プロセスを開く非永続的な接続関数です。
- mysqli は永続的な接続機能です。mysqli を複数回実行すると同じ接続プロセスが使用されるため、サーバーのオーバーヘッドが軽減されます。 mysqli はトランザクションなどの一部の高度な操作をカプセル化し、DB 操作プロセスで使用可能な多くのメソッドもカプセル化します。
c. mysql と mysqli の使用法:
- mysql (手続き型モード):
追記: mysqli は手続き型で動作します。mysqli_query (リソース識別子、SQL ステートメント) などの一部の関数はリソースを指定する必要があり、リソース識別子のパラメーターは前に配置されます が、mysql_query (SQL ステートメント、リソース ID ') はオプションであり、デフォルト値は最後に開かれた接続またはリソースです。
- mysqli (オブジェクトモード):
- リーリー
致命的なエラー: クラス 'mysqli' が ...
に見つかりません
通常、mysqli クラスはデフォルトで有効になっていないため、php.ini を変更し、php_mysqli.dll の前にある「;」を削除する必要があります。 。
d. mysql_connect() と mysqli_connect()
- mysqli を使用すると、データベース名をパラメータとして mysqli_connect() 関数または mysqli コンストラクターに渡すことができます。
- mysqli_query() または mysqli object query query() メソッドが呼び出される場合は、接続識別子が必要です。
リーリー
JDBC 3.0: getGeneratedKeys()リーリー

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









次の手順でphpmyadminを開くことができます。1。ウェブサイトコントロールパネルにログインします。 2。phpmyadminアイコンを見つけてクリックします。 3。MySQL資格情報を入力します。 4.「ログイン」をクリックします。

MySQLはオープンソースのリレーショナルデータベース管理システムであり、主にデータを迅速かつ確実に保存および取得するために使用されます。その実用的な原則には、クライアントリクエスト、クエリ解像度、クエリの実行、返品結果が含まれます。使用法の例には、テーブルの作成、データの挿入とクエリ、および参加操作などの高度な機能が含まれます。一般的なエラーには、SQL構文、データ型、およびアクセス許可、および最適化の提案には、インデックスの使用、最適化されたクエリ、およびテーブルの分割が含まれます。

Redisは、単一のスレッドアーキテクチャを使用して、高性能、シンプルさ、一貫性を提供します。 I/Oマルチプレックス、イベントループ、ノンブロッキングI/O、共有メモリを使用して同時性を向上させますが、並行性の制限、単一の障害、および書き込み集約型のワークロードには適していません。

MySQLは、そのパフォーマンス、信頼性、使いやすさ、コミュニティサポートに選択されています。 1.MYSQLは、複数のデータ型と高度なクエリ操作をサポートし、効率的なデータストレージおよび検索機能を提供します。 2.クライアントサーバーアーキテクチャと複数のストレージエンジンを採用して、トランザクションとクエリの最適化をサポートします。 3.使いやすく、さまざまなオペレーティングシステムとプログラミング言語をサポートしています。 4.強力なコミュニティサポートを提供し、豊富なリソースとソリューションを提供します。

データベースとプログラミングにおけるMySQLの位置は非常に重要です。これは、さまざまなアプリケーションシナリオで広く使用されているオープンソースのリレーショナルデータベース管理システムです。 1)MySQLは、効率的なデータストレージ、組織、および検索機能を提供し、Web、モバイル、およびエンタープライズレベルのシステムをサポートします。 2)クライアントサーバーアーキテクチャを使用し、複数のストレージエンジンとインデックスの最適化をサポートします。 3)基本的な使用には、テーブルの作成とデータの挿入が含まれ、高度な使用法にはマルチテーブル結合と複雑なクエリが含まれます。 4)SQL構文エラーやパフォーマンスの問題などのよくある質問は、説明コマンドとスロークエリログを介してデバッグできます。 5)パフォーマンス最適化方法には、インデックスの合理的な使用、最適化されたクエリ、およびキャッシュの使用が含まれます。ベストプラクティスには、トランザクションと準備された星の使用が含まれます

Redisデータベースの効果的な監視は、最適なパフォーマンスを維持し、潜在的なボトルネックを特定し、システム全体の信頼性を確保するために重要です。 Redis Exporter Serviceは、Prometheusを使用してRedisデータベースを監視するために設計された強力なユーティリティです。 このチュートリアルでは、Redis Exporterサービスの完全なセットアップと構成をガイドし、監視ソリューションをシームレスに構築します。このチュートリアルを研究することにより、完全に動作する監視設定を実現します

SQLデータベースエラーを表示する方法は次のとおりです。1。エラーメッセージを直接表示します。 2。エラーを表示し、警告コマンドを表示します。 3.エラーログにアクセスします。 4.エラーコードを使用して、エラーの原因を見つけます。 5.データベース接続とクエリ構文を確認します。 6.デバッグツールを使用します。

Apacheはデータベースに接続するには、次の手順が必要です。データベースドライバーをインストールします。 web.xmlファイルを構成して、接続プールを作成します。 JDBCデータソースを作成し、接続設定を指定します。 JDBC APIを使用して、接続の取得、ステートメントの作成、バインディングパラメーター、クエリまたは更新の実行、結果の処理など、Javaコードのデータベースにアクセスします。
