在MySQL学生管理系统中实现事务的代码
时间: 2024-04-28 21:26:18 浏览: 8
下面是一个简单的 MySQL 学生管理系统实现事务的代码示例:
```python
import mysql.connector
# 创建 MySQL 连接
conn = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="yourdatabase"
)
# 创建 MySQL 游标对象
cursor = conn.cursor()
# 定义 SQL 语句
sql1 = "INSERT INTO students (name, age, gender) VALUES (%s, %s, %s)"
sql2 = "UPDATE classes SET total_students = total_students + 1 WHERE id = %s"
# 定义要插入的学生数据
student = ("张三", 18, "男")
try:
# 开始事务
conn.start_transaction()
# 插入学生数据
cursor.execute(sql1, student)
# 获取插入的学生 ID
student_id = cursor.lastrowid
# 更新班级总人数
cursor.execute(sql2, (1,))
# 提交事务
conn.commit()
print("插入学生数据成功,学生 ID 为", student_id)
except Exception as e:
# 回滚事务
conn.rollback()
print("插入学生数据失败,错误信息为:", e)
finally:
# 关闭游标和连接
cursor.close()
conn.close()
```
这段代码使用了 `start_transaction()` 方法开始事务,使用 `commit()` 方法提交事务,使用 `rollback()` 方法回滚事务。在事务中,如果任何一个 SQL 语句执行失败,就会回滚到事务开始前的状态。这样可以确保数据的完整性和一致性。