(2)隐式设置事务。当对学生表Student进行插入记录(202102001,张大强,男,网安,2021级),因学生表中已有学号202102001,所以插入失败。写出示例代码
时间: 2024-03-03 19:50:14 浏览: 37
好的,假设你使用的是MySQL数据库,以下是一个使用事务来插入学生信息的示例代码:
```python
import mysql.connector
# 创建数据库连接
db = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="yourdatabase"
)
# 获取数据库操作游标
cursor = db.cursor()
try:
# 开始事务
cursor.execute("START TRANSACTION")
# 插入学生信息
sql = "INSERT INTO Student (ID, Name, Gender, Major, Grade) VALUES (%s, %s, %s, %s, %s)"
val = (202102001, '张大强', '男', '网安', '2021级')
cursor.execute(sql, val)
# 提交事务
db.commit()
print("插入成功")
except Exception as e:
# 回滚事务
db.rollback()
print("插入失败,错误信息:", e)
finally:
# 关闭数据库连接
db.close()
```
在这个示例代码中,我们首先使用`START TRANSACTION`语句开始一个事务,然后使用`INSERT`语句插入学生信息。如果插入成功,我们使用`COMMIT`语句提交事务,否则使用`ROLLBACK`语句回滚事务。最后,我们关闭数据库连接。
阅读全文