Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查是否已使用python删除注册表_Python_Mysql_Mysql Python - Fatal编程技术网

检查是否已使用python删除注册表

检查是否已使用python删除注册表,python,mysql,mysql-python,Python,Mysql,Mysql Python,如何检查数据库数据是否丢失 if cur.execute('DELETE FROM products WHERE shop = 5'): print('deleted sucess') 此代码不起作用,我也不知道如何验证数据是否已被删除您可以删除,然后尝试选择已删除的内容。这段代码应该告诉您删除是否成功,尽管它不是很有效。。。数据库应该删除数据,如果不删除,那么您应该选择一个新数据库 cur.execute('DELETE FROM products WHERE shop =

如何检查数据库数据是否丢失

 if cur.execute('DELETE FROM products WHERE shop = 5'):
       print('deleted sucess')

此代码不起作用,我也不知道如何验证数据是否已被删除

您可以删除,然后尝试选择已删除的内容。这段代码应该告诉您删除是否成功,尽管它不是很有效。。。数据库应该删除数据,如果不删除,那么您应该选择一个新数据库

cur.execute('DELETE FROM products WHERE shop = 5')
cur.execute('SELECT * from products where shop = 5')
if not cur.fetchone():
    print('delete successful')

我不能100%确定这个额外检查背后的动机,但您可以验证该值,该值返回上次查询中“受影响行”的数量:

此只读属性指定最后一个
.execute*()
生成的行数(对于像
SELECT
这样的DQL语句)或受影响的行数(对于像
UPDATE
INSERT
这样的
DML
语句)。[9]


删除数据之前,请检查数据是否存在。如果存在,请将其删除。如果您想确保它已被删除,那么请查询相同的数据并确保您没有得到任何回复。尽管任何像样的数据库都不需要您验证是否确实发生了删除。其目的是检查某些数据是否已被删除以进行新的插入。或者,在输入新数据之前,您必须删除每个存储区中的所有数据。@JB_u;gotcha,感谢您提供更多信息。您是否考虑过使用数据库级别的约束来防止插入?我不知道如何确定如何使用@alecxe
cur.execute('DELETE FROM products WHERE shop = 5')

affected_rows = cur.rowcount
print("Rows affected: {affected_rows}".format(affected_rows=affected_rows))

if affected_rows > 0: 
    print('deleted success')