Tôi muốn tìm hiểu, với một truy vấn SQL, cho dù một chỉ mục là UNIQUE hay không. Tôi đang sử dụng SQLite 3.Làm cách nào để tìm hiểu xem chỉ mục SQLite là duy nhất? (Với SQL)
Tôi đã thử hai cách tiếp cận:
SELECT * FROM sqlite_master WHERE name = 'sqlite_autoindex_user_1'
này trả về thông tin về chỉ số ("loại", "tên", "tbl_name", "rootpage" và "sql"). Lưu ý rằng cột sql trống khi chỉ mục được tạo tự động bởi SQLite.
PRAGMA index_info(sqlite_autoindex_user_1);
Điều này trả về các cột trong chỉ mục ("seqno", "cid" và "name").
Bất kỳ đề xuất nào khác?
Chỉnh sửa: Ví dụ trên là dành cho chỉ mục được tạo tự động, nhưng câu hỏi của tôi là về chỉ mục nói chung. Ví dụ, tôi có thể tạo một chỉ mục với "CREATE UNIQUE INDEX index1 ON (người dùng, ngày tháng)". Có vẻ như không có lệnh SQL nào sẽ hiển thị nếu chỉ mục mới của tôi là UNIQUE hay không.
Bạn có thể đưa ra ví dụ về chỉ mục được tạo tự động không phải là duy nhất không? Những cái tôi thấy luôn luôn là duy nhất. – finnw
autoindex được tạo cho khóa chính, theo định nghĩa duy nhất – Noah