不幸的是,我需要uphte,添加和删除auth.models.User表中的行...
当我这样做表锁时,我无法对表执行任何SELECT查询。
我围绕这些查询@transaction.commit_manually
,这可能与表锁定有关。
交易如下所示:
for row in csv_reader:
update_sql = "UPDATE auth_user SET last_name = '%s' WHERE username = '%s'" %(row[2], row[0] )
cursor.execute(update_sql)
if not index % 100: print index:
print index
transaction.commit()
此外我正在使用 Sql Server 2008 ,我想知道它是否是特定于Sql Server的,或者这样的操作也会锁定PostgreSQL和MySQL中的表。
任何想法的家伙? :)
答案 0 :(得分:2)
是的,你故意锁定表格。我建议研究transaction isolation因为它是数据库的核心概念之一。
至于你的问题,你可以为UPDATE和SELECT语句做几件事: