"nhưng thay vào đó phải làm như thế nào?"
Cuộc gọi khó khăn. Vấn đề là họ đang cắm siêu dữ liệu (cụ thể là các tên cột) khi đang bay vào một câu lệnh SQL. Tôi không phải là một fan hâm mộ lớn của loại điều này. Biến số sourcedest
có hai tên cột sẽ được cập nhật.
Tỷ lệ cược tốt là chỉ có một (hoặc một vài) cặp tên cột thực sự được sử dụng. Sở thích của tôi là làm điều này.
if situation1:
stmt= "INSERT INTO mastertickets (this, that) VALUES (?, ?)"
elif situation2:
stmt= "INSERT INTO mastertickets (foo, bar) VALUES (?, ?)"
else:
raise Exception("Bad configuration -- with some explanation")
cursor.execute(stmt, (self.tkt.id, n))
Khi có nhiều kết hợp cột hợp lệ cho loại điều này, nó cho biết rằng mô hình dữ liệu đã hợp nhất hai thực thể thành một bảng duy nhất, một vấn đề thiết kế cơ sở dữ liệu chung. Vì bạn đang làm việc với một sản phẩm và một trình cắm thêm, bạn không thể làm gì nhiều với các vấn đề về mô hình dữ liệu.
Nguồn
2008-11-25 14:11:35
Đó là một đoạn mã stinky. bạn đã tìm thấy nó ở đâu? Đó là điều tôi muốn tránh. –
plugin mastertickets cho trac – Epaga
oh và ra khỏi tò mò ... tôi đồng ý nó không phải là rất dễ đọc (do đó câu hỏi;), nhưng làm thế nào nên làm điều đó thay thế? – Epaga