Mysql соединение с питоном - PullRequest
0 голосов
/ 03 октября 2019

этот код выполняется без ошибок, но записи не добавляются в базу данных

mydb=sql.connect(host="localhost",user="root",passwd="")
cmd=mydb.cursor()
cmd.execute("create database if not exists library")
cmd.execute("use library")
cmd.execute("create table if not exists class_12 (roll_no int(2) not null,name varchar(30) not null,book_issued varchar(50),book_no int(6) not null)")
c=input("do u want to edd entries in the book record? y/n : ")
while c=="y":
    print("please supply the following details ")
    r=int(input("roll number of the student"))
    n=str(input("enter the name of the student"))
    bn=str(input("enter the book name"))
    BN=int(input("Enter BOOK number : "))
    inp=("insert into class_12(roll_no,name,book_issued,book_no) values(%s,%s,%s,%s)")
    val=(r,n,bn,BN)
    cmd.execute(inp,val)
    cmd.execute("commit")
    c=input("do u want to edd entries in the book record? y/n : ")```

Ответы [ 2 ]

0 голосов
/ 03 октября 2019

Вам необходимо выполнить cmd.commit() после всех операторов вставки.

См. Вставка данных с использованием Connector / Python

0 голосов
/ 03 октября 2019

Вы не фиксируете изменения в базе данных. Добавьте коммит и закройте вызовы скрипта перед выходом.

mydb=sql.connect(host="localhost",user="root",passwd="")
cmd=mydb.cursor()
cmd.execute("create database if not exists library")
cmd.execute("use library")
cmd.execute("create table if not exists class_12 (roll_no int(2) not null,name varchar(30) not null,book_issued varchar(50),book_no int(6) not null)")
c=input("do u want to edd entries in the book record? y/n : ")
while c=="y":
    print("please supply the following details ")
    r=int(input("roll number of the student"))
    n=str(input("enter the name of the student"))
    bn=str(input("enter the book name"))
    BN=int(input("Enter BOOK number : "))
    inp=("insert into class_12(roll_no,name,book_issued,book_no) values(%s,%s,%s,%s)")
    val=(r,n,bn,BN)
    cmd.execute(inp,val)
    c=input("do u want to edd entries in the book record? y/n : ")
cmd.commit()
cmd.close()
...