2017-10-10 67 views
0

我是MYSQL的新手,我正面临MYSQL的一个非常简单的问题。我创建了一个包含学校表的数据库,该表包含sschool的名称,联系人,地址,ID(主键)。我需要根据用户选择的id(调用这个变量school_id)删除一条记录,那么如何使用python在mysql语句中编写这个记录呢?我已经试过,但我知道这是错的 - >python Mysql删除

print "Delete school" 
school_id = int(input('Please, enter an ID: ')) 
cursor.execute("DELETE FROM `schools` WHERE id = %s", (school_id,)) 

其无deleting.whats

+1

你犯? – Mureinik

回答

1

你犯了删除错误?

cursor.commit()

0

正如已经joof说,大部分可能是你没有COMMITED的变化。 如果它没有帮助,我会先尝试在mysql中执行这个语句,看看它是否有效,然后检查你是否有正确的连接到你的分贝。

链接到在Python中使用sql。 https://docs.python.org/3.6/library/sqlite3.html

+0

我已连接数据库 – mutegeki

0

除非你承诺,它不会被执行:

cursor.commit()

有乐趣。

+0

我已经使用db.commit() – mutegeki

0
print "Delete school" 
school_id = int(input('Please, enter an ID: ')) 
cursor.execute("DELETE FROM `schools` WHERE id = %s", (school_id,)) 
+0

如果我做db.commit() – mutegeki

0

MySQL documentationcommit

每一个为使用事务性存储引擎的表修改数据的事务后调用这个方法是非常重要的。

你不必从字面上每一笔交易后,使用它 - 这是不够的,如果你一旦把它所有execute被称为后:

def a(): 
    cursor.execute('insert ...') # cursor object 
    cursor.execute('update ...') 
    connection.commit() # connection object 

def b(): 
    cursor.execute('delete ...') 
    connection.commit()