Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python을 사용하여 MySQL 데이터베이스에 INSERT 후 ID를 얻는 방법은 무엇입니까?

<시간/>

데이터는 INSERT 문을 사용하여 Mysql의 테이블에 삽입됩니다. 테이블에 데이터를 삽입할 때 데이터베이스의 컬럼 정의와 동일한 순서로 데이터를 제공하거나 INSERT 문을 사용할 때 데이터와 함께 컬럼 이름을 제공해야 합니다.

마지막으로 삽입된 행의 ID를 가져오고 인쇄하기 위해 lastrowid가 사용됩니다. 마지막으로 삽입된 행의 ID를 가져오는 데 사용되는 특수 키워드입니다. 이 방법을 사용하기 전에 처리해야 할 특정 전제 조건이 있습니다.

  • ID 열은 테이블의 기본 키여야 합니다.

  • ID 열은 자동으로 증가해야 합니다.

구문

cs.lastrowid

여기서 cs는 커서 개체입니다.

파이썬에서 MySQL을 사용하여 테이블에 삽입된 행의 ID를 얻는 단계

  • MySQL 커넥터 가져오기

  • connect()를 사용하여 커넥터와 연결 설정

  • cursor() 메소드를 사용하여 커서 객체 생성

  • 테이블에 행을 삽입하는 쿼리 만들기

  • execute() 메서드를 사용하여 SQL 쿼리 실행

  • lastrowid를 사용하여 삽입된 행의 ID를 가져옵니다.

  • 연결을 끊다

"Students"라는 이름의 다음 테이블이 있다고 가정합니다.

+--------+---------+----------+------------+| 아이디 | 이름 | 도시 | 표시 |+--------+---------+----------+------------+| 1 | 카란 | 암리차르 | 95 || 2 | 사힐 | 암리차르 | 93 || 3 | 크리티 | 바탈라 | 88 || 4 | 아밋 | 델리 | 90화> 

예시

위 열의 ID 열은 기본 키이며 자동 증가합니다. 테이블에 새 행을 삽입하고 마지막으로 삽입된 행의 ID를 가져옵니다.

 import mysql.connectordb=mysql.connector.connect(host="your host", user="your username",password="yourpassword",database="database_name")cursor=db.cursor()#insert a tablequery="INSERT INTO Students VALUES(5,"Priya", "Amritsar", 90)"cursor.execute(query)db.commit()#삽입된 행의 ID를 인쇄합니다.print(cursor.lastrowid)db .close()

출력

5