"Operación de transacción" de MySQL

drop database if exists StudentManage;
create database StudentManage;

use StudentManage;

create table Student
(Sno int primary key,
Sname nchar(10) ,
Ssex nchar(2),
Sage int,
Sdept nvarchar(30)
)charset=utf8;

create table Course
(Cno int primary key,
Cname nvarchar(30),
Cpno int,
Ccredit int
)charset=utf8;

create table SC
(Sno int,
Cno int,
Grade int,
primary key(Sno,Cno));

insert into Student
values(201215121,'李勇','男',20,'CS'),
(201215122,'刘晨','女',19,'CS'),
(201215123,'王敏','女',18,'MA'),
(201215124,'张立','男',19,'IS');


insert into Course
values(1,'数据库',5,4),(2,'数学',NULL,2),
(3,'信息系统',1,4),(4,'操作系统',6,3),
(5,'数据结构',7,4),(6,'数据处理',NULL,2),
(7,'PASCAL',6,4);

insert into SC 
values(201215121,1,92),(201215121,2,85),
(201215121,3,88),(201215122,2,90),(201215122,3,80);

2. Cree una tabla sc1 para probar el contenido de este experimento. El contenido de la tabla es la identificación del estudiante, la identificación del curso y la información del grado de la tabla SC original número de escuela intermedia 201215121. ①Cree la tabla sc1 según la estructura de la tabla sc; ②Inserte la identificación del estudiante, la identificación del curso y la información de calificación de la tabla SC original número de estudiante 201215121 en sc1.

El primer vacío:
crea la tabla sc1 como sc;

Segundo vacío:
inserte en sc1 seleccione *

de sc donde

sno = '201215121';

3. Compruebe si la confirmación automática de la transacción está activada en la sesión actual. Si la confirmación automática de la transacción está activada, utilice la instrucción para desactivar la confirmación automática de la transacción. ①Compruebe si el envío automático de la transacción está activado; ② Desactive el envío automático de la transacción.

respuesta correcta:

第一 空 :
SELECT @@ autocommit; MOSTRAR VARIABLES COMO 'autocommit';

第二 空 :
SET @@ autocommit = OFF; SET @@ autocommit = 0; SET autocommit = OFF; SET autocommit = 0;

4. Inserte un dato (201215121, 5, 77) en la tabla sc1 y cree un punto de guardado s1. ①Insertar datos (201215121,5,77); ②Establecer el punto de guardado s1.

Primero vacío:
insertar en los valores de sc1

(201215121,5,77);

Segundo vacío:
punto de guardado s1;

5. Inserte el segundo dato (201215121, 6, 82) en la tabla sc1 y cree un punto de guardado s2. ① Insertar datos (201215121, 6, 82); ② Crear punto de guardado s2.

Primero vacío:
insertar en los valores de sc1

(201215121,6,82);

Segundo vacío:
punto de guardado s2;

6. Verifique el contenido de la tabla sc1 y responda algunos registros.

5

7. Retroceda para guardar el punto s1. Verifique nuevamente el contenido de la tabla sc1 y responda que hay varios registros. ① Retroceder para guardar el punto s1; ② Hay varios registros.
respuesta correcta:

Primero vacío:
ROLLBACK TO SAVEPOINT s1; ROLLBACK TO s1;

Segundo vacío:
4

8. Vuelva al punto de partida, verifique el contenido de la tabla sc1 nuevamente y responda que hay varios registros. ① Retroceder al punto de partida; ② Hay varios registros.
Primer vacío:
ROLLBACK;

Segundo vacío:
3

9. Configure la transacción en modo de confirmación automática.

establecer autocommit = 1;

10. Inserte un dato (201215121, 5, 77) en la tabla sc1 y cree un punto de guardado s1 (la operación es la misma que la cuarta pregunta en el paso 3). ①Insertar datos (201215121,5,77); ②Establecer el punto de guardado s1.

Primero vacío:
insertar en los valores de sc1

(201215121,5,77);

Segundo vacío:
punto de guardado s1;

11. Inserte el segundo dato (201215121, 6, 82) en la tabla sc1 y cree un punto de guardado s2 (la operación es la misma que la quinta pregunta en el paso 4). ① Insertar datos (201215121, 6, 82); ② Crear punto de guardado s2.

Primero vacío:
insertar en los valores de sc1

(201215121,6,82);

Segundo vacío:
punto de guardado s2;

12. Retroceda para guardar el punto s1. ¿Se puede ejecutar con éxito? Piense por qué. ① Retroceda para guardar el punto s1; ② Puede tener éxito (responda sí o no).
respuesta correcta:

Primero vacío:
ROLLBACK TO SAVEPOINT s1; ROLLBACK TO s1;

Segundo vacío:
no

13. Vea el nivel de aislamiento de la sesión actual.

SELECT @@ SESSION.TRANSACTION_ISOLATION;

14. Vea el nivel de aislamiento actual del sistema.

SELECT @@ GLOBAL.TRANSACTION_ISOLATION;

15. Establezca el nivel de aislamiento de la sesión actual para leer sin confirmar.

CONFIGURAR EL NIVEL DE AISLAMIENTO DE LA TRANSACCIÓN DE LA SESIÓN LEER SIN COMPROMISO;

16. Establezca el nivel de aislamiento del sistema actual para leer la confirmación.

establecer el nivel de aislamiento de transacción global leído confirmado;

17. Configure el modo de acceso de la transacción de la sesión actual en modo de solo lectura. E inserte un dato (201215121, 7, 88) en la tabla sc1 para verificar si el modo de solo lectura es válido. ①Configure el modo de acceso a la transacción de sesión en modo de solo lectura; fSi se inserta un error, pegue el mensaje de error completo.

respuesta correcta:

Primero vacío:
SET SESSION TRANSACTION READ ONLY;

第二 空 :
ERROR 1792 (25006): No se puede ejecutar la instrucción en una transacción READ ONLY.

Supongo que te gusta

Origin blog.csdn.net/ziyue13/article/details/112074636
Recomendado
Clasificación