Python pymysql은 데이터 조각을 삽입하고 id를 반환합니다.

다음은 pymysql을 사용하여 데이터 조각을 삽입하고 자동으로 생성된 ID를 반환하는 샘플 코드입니다.

```python
import pymysql

# 连接数据库
conn = pymysql.connect(
    host='localhost',
    user='root',
    password='123456',
    db='your_database',
    charset='utf8mb4',
    cursorclass=pymysql.cursors.DictCursor
)

try:
    # 创建游标对象
    with conn.cursor() as cursor:
        # 执行插入语句
        sql = "INSERT INTO your_table (column1, column2) VALUES (%s, %s)"
        values = ('value1', 'value2')
        cursor.execute(sql, values)
        
        # 获取自动生成的id
        inserted_id = cursor.lastrowid
        
        # 提交事务
        conn.commit()
        
        # 输出插入的id
        print(inserted_id)
finally:
    # 关闭数据库连接
    conn.close()
```

코드에서 먼저 `pymysql.connect` 함수를 통해 데이터베이스에 연결한 다음 SQL 문을 실행하는 데 사용할 수 있는 커서 개체 `cursor`를 만듭니다.

그런 다음 `cursor.execute` 메서드를 사용하여 삽입 문을 실행합니다. 여기서 `%s`는 자리 표시자이며 SQL 주입 공격을 방지하기 위해 다음 매개 변수로 대체할 수 있습니다. `values`는 삽입할 데이터 값을 포함하는 튜플입니다.

그런 다음 `cursor.lastrowid`를 사용하여 자동으로 생성된 id를 가져옵니다. 이 메서드는 insert 문을 실행한 후에만 마지막으로 삽입된 데이터 id를 가져올 수 있습니다.

마지막으로 `conn.commit()`을 사용하여 트랜잭션을 커밋하여 데이터가 실제로 데이터베이스에 삽입되도록 해야 합니다. 사용 가능한 리소스에 대한 데이터베이스 연결을 닫습니다.

참고:
- 실제 사용시 `host`, `user`, `password`, `db`는 실제 데이터베이스 정보로 변경해야 합니다.
- 삽입문의 `%s`는 자리 표시자이며 실제 상황에 따라 수정될 수 있습니다. 자리 표시자가 여러 개인 경우 여러 매개 변수를 전달할 수 있으며 매개 변수의 순서는 자리 표시자의 순서와 일치해야 합니다.
- insert 문의 `column1`과 `column2`는 삽입할 컬럼명으로 실제 상황에 따라 수정 가능합니다.
- insert 문을 실행한 후 반드시 `conn.commit()`을 사용하여 트랜잭션을 커밋하여 데이터가 실제로 데이터베이스에 삽입되도록 합니다. 그렇지 않으면 삽입된 데이터가 저장되지 않습니다.

Supongo que te gusta

Origin blog.csdn.net/qq_26429153/article/details/131766990
Recomendado
Clasificación