You are currently viewing Получите идентификатора после INSERT в базе данных MySQL с помощью Python

Получите идентификатора после INSERT в базе данных MySQL с помощью Python

Предварительные требования: MySQLmysql-коннектор для python

Задача здесь состоит в том, чтобы разработать программу на Python, которая работает с поддержкой SQL для подключения данных. Всякий раз, когда происходит вставка в базу данных, будет напечатан идентификатор вставленной строки. Для подключения python к базе данных мы используем MySQL connector. Работа mysql-connector заключается в предоставлении доступа к драйверу MySQL на требуемом языке. Таким образом, он создает соединение между языком программирования и сервером MySQL.

Предложение INSERT в SQL

Как следует из названия, он вставляет данные в базу данных. При использовании команды insert необходимо соблюдать определенные правила. Данные, подлежащие обновлению, должны быть либо в том же порядке, что и столбцы базы данных, либо имена столбцов должны быть указаны в запросе вместе с вставляемыми данными.

Синтаксис:

INSERT INTO <tablename>(Col1,Col2, …)

VALUES(….);

Для печати идентификатора последней вставленной строки будет использоваться lastrowid. Это специальное ключевое слово, которое выводит идентификатор последней вставленной строки, но для этого существуют определенные протоколы, которые необходимо иметь в виду, прежде чем использовать это:

  • Столбец идентификатора базы данных должен быть первичным ключом
  • Столбец идентификатора должен автоматически увеличиваться.

Ниже приводится реализация того же:

Используемая База Данных:

Ниже приводится реализация:

import mysql.connector

mydb = mysql.connector.connect(
	host = 'localhost',
	database = 'employee',
	user = 'root',
	password = 'Your_pass'
)

cs = mydb.cursor()
statement = "INSERT INTO geekstudent( id, name,gender, subject)\
VALUES(6,'Shoit','M', 'ML')"
cs.execute(statement)
mydb.commit()

print(cs.rowcount, " record(s) added")

print(cs.lastrowid)

Выход:

1 record(s) added 0

Обновленные выходные данные Базы Данных: