Aşağıdaki SQL tarafından tanımlanmış bir tablom var:Koşullu SQLite kontrol kısıtlaması?
CREATE TABLE test (
id integer PRIMARY KEY NOT NULL UNIQUE,
status text NOT NULL,
enddate date,
/* Checks */
CHECK (status IN ("Current", "Complete"))
);
enddate
status
'nin "Complete" olması durumunda enddate
öğesinin boş olmayan olmasını gerektiren bir kısıtlama eklemek istiyorum.
Bu mümkün mü? SQLite v3.6.16 kullanıyorum.
Teşekkürler, bu çalışır. Tek yolu bu mu? Gelecekte daha fazla sayıda durum olabilir ve kontrol oldukça büyüyebilir. – Rezzie
Kısıtlamalar çok karmaşık olduğunda, yaklaşım genellikle uygulamak için tablonun önüne bir katman koymaktır. Saklı yordam katmanı veya veri erişim kitaplığı gibi. – Andomar
Tavsiye için teşekkürler. – Rezzie