Tôi đang học cách sử dụng sqlite3 với python. Ví dụ trong sách văn bản mà tôi đang theo dõi là một cơ sở dữ liệu mà mỗi bản ghi Quốc gia có một Vùng, Quốc gia và Dân số.Từ khóa CONSTRAINT làm gì trong câu lệnh CREATE TABLE
Cuốn sách này nói:
Đoạn sau đây sử dụng từ khóa CONSTRAINT để xác định rằng không có hai mục trong bảng là tạo bao giờ sẽ có cùng giá trị đối với khu vực và quốc gia:
>>> cur.execute('''
CREATE TABLE PopByCountry(
Region TEXT NOT NULL,
Country TEXT NOT NULL,
Population INTEGER NOT NULL,
CONSTRAINT Country_Key PRIMARY KEY (Region, Country))
''')
Bạn có thể giải thích những gì CONSTRAINT Country_Key
không có tại đây. Nếu tôi gỡ bỏ nó, bản tuyên bố PRIMARY KEY có vẻ như đảm bảo rằng mỗi quốc gia có một tên duy nhất cho khu vực đó.
Đúng vậy. Ràng buộc PRIMARY KEY thực tế không khác gì có hoặc không có từ khóa CONSTRAINT. Từ khóa chỉ cho phép chúng tôi xác định ràng buộc. –
Cảm ơn bạn đã trả lời rất nhanh. Tôi sẽ đánh dấu đây là câu trả lời nếu bạn có thể cho tôi một ví dụ đơn giản về lệnh để sửa/bỏ ràng buộc sau này. –
Hóa ra tôi bỏ lỡ sớm hơn. Bạn chỉ có thể thả các ràng buộc, chứ không phải chỉnh sửa chúng trực tiếp. Tuy nhiên, bạn có thể thả một và thêm một cái khác (thực hiện chỉnh sửa) –