トランザクションはデータベースの操作において非常に重要な機能であり、1 つまたは一連の SQL ステートメントをスケジュールし、実行プロセス中にそれらのステートメントの 1 つが実行に失敗した場合に、それらをすべてロールバックできます。変更された操作が正常に実行されると、トランザクションは永続的に有効になり、データベース操作時の非同期の問題が解決されると同時に、トランザクションを通じて大量のデータを実行する際の実行効率が向上します。大幅に改善されました。
トランザクション処理の機能はPDOでも実現できます
1: トランザクションを開きます: beginTransaction()メソッド
beginTransaction()メソッドは、トランザクションが終了するまで自動コミットモードをオフにします送信またはロールバック後に復元
2: 物事の送信: commit() メソッド
commit() メソッドは物事の送信操作を完了し、成功した場合は true を返し、そうでない場合は false を返します。
3: モノのロールバック: rollBack() メソッド
rollBack() メソッドは、モノのロールバック操作を実行します。
例:
$dbms='mysql';//数据库类型 $dbName='admin';//使用的数据库 $user='root';//数据库连接用户名 $pwd='password';//数据库连接密码 $host='localhost';//数据库主机名 $dsn="$dbms:host=$host;port=3306;dbname=$dbName"; try { $pdo = new PDO($dsn, $user, $pwd);//初始化一个PDO对象,就是创建了数据库连接对象$pdo $pdo->beginTransaction();//开启事物 $query = "insert into user (username,password) values('admin','123456')";//需要执行的sql语句 $res = $pdo->prepare($query); if ($res->execute()) { echo "数据添加成功"; }else{ echo "数据添加失败"; } $pdo->commit();//执行事物的提交操作 }catch(PDOException $e){ die("Error!: ".$e->getMessage().'<br>'); $pdo->rollBack();//执行事物的回滚操作 }
追加:
データベーストランザクションは、完全に実行されたか、まったく実行されなかった、単一の論理的な作業単位として実行される一連の操作を指します。
トランザクション処理では、トランザクション単位内のすべての操作が正常に完了しない限り、データ指向のリソースが永続的に更新されないようにします。関連する操作のセットを、すべて成功するかすべて失敗するユニットに結合することで、エラー回復を簡素化し、アプリケーションの信頼性を高めることができます。論理作業単位がトランザクションになるには、いわゆる ACID (原子性、一貫性、分離性、耐久性) プロパティを満たす必要があります。
トランザクションとはデータベース操作における論理的な作業単位であり、DBMSのトランザクション管理サブシステムがトランザクション処理を担当します。
関連プロパティ:
アトミック (アトミック性)
トランザクションはデータ変更のアトミックな作業単位である必要があり、すべてが実行されるか、まったく実行されません。通常、トランザクションに関連付けられた操作には共通の目標があり、相互に依存しています。システムがこれらの操作のサブセットのみを実行すると、トランザクションの全体的な目的が損なわれる可能性があります。アトミック性により、システムが操作のサブセットを処理する可能性が排除されます。
一貫性(一貫性)
トランザクションが完了したとき、すべてのデータは一貫性を保たなければなりません。関連するデータベースでは、すべてのデータの整合性を維持するために、トランザクションの変更にすべてのルールを適用する必要があります。トランザクションの終了時には、すべての内部データ構造 (B ツリー インデックスや二重リンク リストなど) が正しい必要があります。整合性を維持する責任の一部はアプリケーション開発者にあり、アプリケーション開発者は、アプリケーションが既知の整合性制約をすべて強制していることを確認する必要があります。たとえば、送金アプリケーションを開発する場合は、送金プロセス中に小数点を任意に移動しないようにする必要があります。
隔離(Isolation)
同時トランザクションによって行われた変更は、他の同時トランザクションによって行われた変更から隔離されなければなりません。トランザクションがデータを表示するときのデータの状態は、別の同時トランザクションによって変更される前の状態、または別のトランザクションによってデータが変更された後の状態のいずれかになります。トランザクションは中間状態のデータを表示しません。これは、開始データを再ロードし、一連のトランザクションを再実行して、データが元のトランザクション実行と同じ状態になるようにできるため、分離と呼ばれます。トランザクションがシリアル化可能な場合、最高の分離レベルが実現されます。このレベルでは、並列実行できる一連のトランザクションから得られる結果は、各トランザクションを直列に実行して得られる結果と同じです。分離性を高くすると、並行して実行できるトランザクションの数が制限されるため、一部のアプリケーションではスループットの向上と引き換えに分離レベルを下げます。
永続性(期間)
トランザクションが完了した後、システムへの影響は永続的です。この変更は、致命的なシステム障害が発生した場合でも持続します。
以上、PDO におけるトランザクション処理を内容も含めて紹介しましたが、PHP チュートリアルに興味のある方の参考になれば幸いです。

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPは、多数のWebサイトとアプリケーションをサポートし、フレームワークを通じて開発ニーズに適応するため、近代化プロセスで依然として重要です。 1.PHP7はパフォーマンスを向上させ、新機能を紹介します。 2。Laravel、Symfony、Codeigniterなどの最新のフレームワークは、開発を簡素化し、コードの品質を向上させます。 3.パフォーマンスの最適化とベストプラクティスは、アプリケーションの効率をさらに改善します。

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

PHPでは、クローンキーワードを使用してオブジェクトのコピーを作成し、\ _ \ _クローンマジックメソッドを使用してクローン動作をカスタマイズします。 1.クローンキーワードを使用して浅いコピーを作成し、オブジェクトのプロパティをクローン化しますが、オブジェクトのプロパティはクローニングしません。 2。\ _ \ _クローン法は、浅いコピーの問題を避けるために、ネストされたオブジェクトを深くコピーできます。 3.クローニングにおける円形の参照とパフォーマンスの問題を避けるために注意し、クローニング操作を最適化して効率を向上させます。

PHPはWeb開発およびコンテンツ管理システムに適しており、Pythonはデータサイエンス、機械学習、自動化スクリプトに適しています。 1.PHPは、高速でスケーラブルなWebサイトとアプリケーションの構築においてうまく機能し、WordPressなどのCMSで一般的に使用されます。 2。Pythonは、NumpyやTensorflowなどの豊富なライブラリを使用して、データサイエンスと機械学習の分野で驚くほどパフォーマンスを発揮しています。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
