Tôi đang cố triển khai một chương trình cơ sở dữ liệu đơn giản trong python. Tôi nhận được đến điểm mà tôi đã thêm yếu tố để các db, thay đổi các giá trị, vvtriển khai cơ sở dữ liệu python
class db:
def __init__(self):
self.database ={}
def dbset(self, name, value):
self.database[name]=value
def dbunset(self, name):
self.dbset(name, 'NULL')
def dbnumequalto(self, value):
mylist = [v for k,v in self.database.items() if v==value]
return mylist
def main():
mydb=db()
cmd=raw_input().rstrip().split(" ")
while cmd[0]!='end':
if cmd[0]=='set':
mydb.dbset(cmd[1], cmd[2])
elif cmd[0]=='unset':
mydb.dbunset(cmd[1])
elif cmd[0]=='numequalto':
print len(mydb.dbnumequalto(cmd[1]))
elif cmd[0]=='list':
print mydb.database
cmd=raw_input().rstrip().split(" ")
if __name__=='__main__':
main()
Bây giờ, như một bước tiếp theo tôi muốn để có thể làm giao dịch lồng nhau trong python này code.I bắt đầu một thiết lập các lệnh bằng lệnh BEGIN và sau đó cam kết chúng với câu lệnh COMMIT. Cam kết phải cam kết tất cả các giao dịch bắt đầu. Tuy nhiên, một rollback nên hoàn nguyên các thay đổi trở lại BEGIN gần đây. Tôi không thể đưa ra một giải pháp thích hợp cho việc này.
Đó chính xác là những gì tôi đang tìm kiếm. Cảm ơn rất nhiều vì câu trả lời. –