数据库事务的级别
1.read uncommitted(脏读)(读取正在提交的数据) read uncommitted(又称读取未提交内容)允许任务读取数据库中未提交的数据更改。 测试脚本: 创建表 CREATE TABLE [dbo].[testTb]( [ID] [int] NULL, [Name] [char](20) NULL ) 2.建立 事务A:插入数据 begin
1.read uncommitted(脏读)(读取正在提交的数据)
read uncommitted(又称读取未提交内容)允许任务读取数据库中未提交的数据更改。
测试脚本:
- 创建表
CREATE TABLE [dbo].[testTb](
[ID] [int] NULL,
[Name] [char](20) NULL
)
2.建立 事务A:插入数据
begin tran
insert into testTb values(5,'e')
waitfor delay '00:00:10'
commit;
3.建立事务B:读取数据
set transaction isolation level read uncommitted
begin tran
select * from testTb
commit;
4.运行事务A立即运行事务B,此时事务A还没有提交,而事务B可以读取事务A正在提交的数据
2.read committed(提交读)(不能读取正在提交的数据)
级别Read Committed(又称读取已提交内容)可防止脏读。该级别查询只读取已提交的数据更改。如果事务需要读取被另一未完成事务 修改的数据,该事务将等待,直到第一个事务完成(提交或回退)。
CREATE TABLE [dbo].[testTb](
[ID] [int] NULL,
[Name] [char](20) NULL
)
2.建立 事务A:插入数据
begin tran
insert into testTb values(5,'e')
waitfor delay '00:00:10'
commit;
3.建立事务B:读取数据
set transaction isolation level read committed
begin tran
select * from testTb
commit
4.运行事务A立即运行事务B,此时事务A还没有提交,而事务B必须等到事务A完成后才可以读取数据
3.REPEATABLE READ(可重复读)(读取数据是不能修改)
指定语句不能读取已由其他事务修改但尚未提交的行,并且指定,其他任何事务都不能在当前事务完成之前修改由当前事务读取的数据。
CREATE TABLE [dbo].[testTb](
[ID] [int] NULL,
[Name] [char](20) NULL
)
2.建立 事务A:更新数据
begin tran
update testTb set Name='CV' where ID='8'
waitfor delay '00:00:10'
commit;
3.建立事务B:读取数据
set transaction isolation level repeatable read
begin tran
select * from testTb
commit
4.运行事务A立即运行事务B,此时事务A还没有提交,而事务B必须等到事务A完成后才可以读取数据
4.SERIALIZABLE(顺序读)(读取数据是不可插入或修改)
- 语句不能读取已由其他事务修改但尚未提交的数据。
- 任何其他事务都不能在当前事务完成之前修改由当前事务读取的数据。
- 在当前事务完成之前,其他事务不能使用当前事务中任何语句读取的键值插入新行。
CREATE TABLE [dbo].[testTb](
[ID] [int] NULL,
[Name] [char](20) NULL
)
2.建立 事务A:更新数据和插入数据
begin tran
insert into testTb values(9,'d')
update testTb set Name='CV' where ID='8'
waitfor delay '00:00:010'
commit;
3.建立事务B:读取数据
set transaction isolation level level serializable
begin tran
select * from testTb
commit;
4.运行事务A立即运行事务B,此时事务A还没有提交,而事务B必须等到事务A完成后才可以读取数据

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Le langage Go est un langage de programmation efficace, concis et facile à apprendre. Il est privilégié par les développeurs en raison de ses avantages en programmation simultanée et en programmation réseau. Dans le développement réel, les opérations de base de données font partie intégrante. Cet article explique comment utiliser le langage Go pour implémenter les opérations d'ajout, de suppression, de modification et de requête de base de données. Dans le langage Go, nous utilisons généralement des bibliothèques tierces pour faire fonctionner les bases de données, telles que les packages SQL couramment utilisés, gorm, etc. Ici, nous prenons le package SQL comme exemple pour présenter comment implémenter les opérations d'ajout, de suppression, de modification et de requête de la base de données. Supposons que nous utilisons une base de données MySQL.

Le mappage polymorphe Hibernate peut mapper les classes héritées à la base de données et fournit les types de mappage suivants : join-subclass : crée une table séparée pour la sous-classe, incluant toutes les colonnes de la classe parent. table par classe : créez une table distincte pour les sous-classes, contenant uniquement des colonnes spécifiques aux sous-classes. union-subclass : similaire à join-subclass, mais la table de classe parent réunit toutes les colonnes de la sous-classe.

Comment utiliser MySQLi pour établir une connexion à une base de données en PHP : Inclure l'extension MySQLi (require_once) Créer une fonction de connexion (functionconnect_to_db) Appeler la fonction de connexion ($conn=connect_to_db()) Exécuter une requête ($result=$conn->query()) Fermer connexion ( $conn->close())

Les dernières versions d'Apple des systèmes iOS18, iPadOS18 et macOS Sequoia ont ajouté une fonctionnalité importante à l'application Photos, conçue pour aider les utilisateurs à récupérer facilement des photos et des vidéos perdues ou endommagées pour diverses raisons. La nouvelle fonctionnalité introduit un album appelé "Récupéré" dans la section Outils de l'application Photos qui apparaîtra automatiquement lorsqu'un utilisateur a des photos ou des vidéos sur son appareil qui ne font pas partie de sa photothèque. L'émergence de l'album « Récupéré » offre une solution aux photos et vidéos perdues en raison d'une corruption de la base de données, d'une application d'appareil photo qui n'enregistre pas correctement dans la photothèque ou d'une application tierce gérant la photothèque. Les utilisateurs n'ont besoin que de quelques étapes simples

HTML ne peut pas lire directement la base de données, mais cela peut être réalisé via JavaScript et AJAX. Les étapes comprennent l'établissement d'une connexion à la base de données, l'envoi d'une requête, le traitement de la réponse et la mise à jour de la page. Cet article fournit un exemple pratique d'utilisation de JavaScript, AJAX et PHP pour lire les données d'une base de données MySQL, montrant comment afficher dynamiquement les résultats d'une requête dans une page HTML. Cet exemple utilise XMLHttpRequest pour établir une connexion à la base de données, envoyer une requête et traiter la réponse, remplissant ainsi les données dans les éléments de la page et réalisant la fonction de lecture HTML de la base de données.

Analyse des principes de base du système de gestion de base de données MySQL MySQL est un système de gestion de base de données relationnelle couramment utilisé qui utilise le langage de requête structuré (SQL) pour le stockage et la gestion des données. Cet article présentera les principes de base du système de gestion de base de données MySQL, y compris la création de bases de données, la conception de tables de données, l'ajout de données, la suppression, la modification et d'autres opérations, et fournira des exemples de code spécifiques. 1. Création d'une base de données Dans MySQL, vous devez d'abord créer une instance de base de données pour stocker les données. Le code suivant peut créer un fichier nommé "mon

Pour gérer les erreurs de connexion à la base de données en PHP, vous pouvez utiliser les étapes suivantes : Utilisez mysqli_connect_errno() pour obtenir le code d'erreur. Utilisez mysqli_connect_error() pour obtenir le message d'erreur. En capturant et en enregistrant ces messages d'erreur, les problèmes de connexion à la base de données peuvent être facilement identifiés et résolus, garantissant ainsi le bon fonctionnement de votre application.

PHP est un langage de programmation back-end largement utilisé dans le développement de sites Web. Il possède de puissantes fonctions d'exploitation de bases de données et est souvent utilisé pour interagir avec des bases de données telles que MySQL. Cependant, en raison de la complexité du codage des caractères chinois, des problèmes surviennent souvent lorsqu'il s'agit de caractères chinois tronqués dans la base de données. Cet article présentera les compétences et les pratiques de PHP dans la gestion des caractères chinois tronqués dans les bases de données, y compris les causes courantes des caractères tronqués, les solutions et des exemples de code spécifiques. Les raisons courantes pour lesquelles les caractères sont tronqués sont des paramètres de jeu de caractères incorrects dans la base de données : le jeu de caractères correct doit être sélectionné lors de la création de la base de données, comme utf8 ou u.
