2011-12-17 25 views
30

Tôi có 3 cột (_id, column1, column2) cột _id đã được thiết lập như là autoincrementlàm thế nào để thiết lập một cột như indexer duy nhất trên Sqlite

Trong cơ sở dữ liệu có một số hồ sơ trùng lặp, vì vậy tôi muốn ngăn chặn hồ sơ trùng lặp với thiết lập column1 là chỉ mục duy nhất. Làm cách nào để đặt cột làm chỉ mục duy nhất trên sqlite? Hoặc làm thế nào để ngăn chặn các bản ghi trùng lặp?

Trả lời

66

Không kỳ diệu, chỉ cần SQL:

create table yourtablename (_id integer primary key autoincrement, column1 text not null unique, column2 text); 

_id sẽ không được trùng lặp trong bất kỳ cách nào bởi vì nó là khóa chính, column1 không phải vì nó là duy nhất.

+2

xem http://www.tutorialspoint.com/sqlite/sqlite_constraints.htm – Aliti

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