2010-06-10 28 views
13

Tôi cần sử dụng tệp cơ sở dữ liệu SQLite làm tệp để lưu trữ thông tin và tôi muốn lưu trữ phiên bản của tệp trong tệp cơ sở dữ liệu SQLite.Có cách nào để lưu trữ một phần tử dữ liệu (duy nhất) trong SQLite không?

Tôi làm cách nào để thực hiện việc này? Tôi có nghĩa là, làm thế nào để lưu trữ duy nhất (chỉ có một) dữ liệu trong SQLite? Tôi không muốn sử dụng lưu trữ thông tin bằng cách tạo bảng cho điều này, vì thông tin phiên bản chỉ là một số.

Trả lời

12

Đối với SQLite, mà một nhúng cơ sở dữ liệu, sau khi tất cả, không có gì sai với việc sử dụng một bảng duy nhất để giữ một giá trị độc đáo như thế này.

sqlite> CREATE TABLE AppVersion (version); 
sqlite> INSERT INTO AppVersion VALUES('1.0'); 
sqlite> SELECT * FROM AppVersion; 
1.0 
sqlite> UPDATE AppVersion SET version='1.1'; 
sqlite> SELECT * FROM AppVersion; 
1.1 

Đó là cơ sở dữ liệu được nhúng. Bạn mong đợi hiệu suất tốt hiệu suất khi bạn sử dụng nó, không phải hoàn hảo hiệu suất. Một bảng phụ duy nhất (chỉ giữ một hàng duy nhất) không được làm cho bất kỳ sự khác biệt nào về số lượng cho bất kỳ ứng dụng hợp lý nào.

+4

Tôi nghi ngờ rằng mối quan tâm của OP là về * hiệu suất * - anh ấy không bao giờ đề xuất như vậy. Chỉ cần sử dụng một bảng để lưu trữ thông tin này là sai ngữ nghĩa, có khả năng gây nhầm lẫn cho ai đó xem sơ đồ trước khi thấy ứng dụng ("Vì vậy, giống như, chúng tôi lưu trữ tất cả các phiên bản mà chúng tôi đã từng phát hành trong bảng này?" Không, chỉ một trong số họ. "), Và (cho đôi mắt của tôi) xấu xí. Có cách để lưu trữ một cách rõ ràng * biến cố định *, chứ không phải là một hàng * bảng *, sẽ mang tính biểu cảm hơn. Nhưng nó không tồn tại, vì vậy chúng ta phải làm với các công cụ chúng tôi có. –

Các vấn đề liên quan