2016-04-10 20 views
1

我有這樣的代碼中的SQLite:條件SQLite的檢查約束文本錯誤

create table Avisos ( 
idAviso int primary key, 
Tipo text not null CHECK (Tipo = "Semaforos" or Tipo = "Senalizacion" or Tipo = "Calzada" Tipo = "Parquimetro" Tipo = "Otro"), 
Descripcion text not null, 
Estado text not null check (Estado = "En proceso" or Estado = "Resuelta"), 
Ubicacion text not null, 
Foto blob not null, 
idUsuario int not null, 
Fecha date not null, 
FOREIGN KEY (idUsuario) REFERENCES Usuarios(idUsuario)) 

我在約束檢查錯誤(TIPO = 「Semaforos」 和.....)

我我發現如果我想在SQLite中添加圖像,我必須用「blob」來定義圖像,有人知道它是否正確?

+0

嘗試用適當的SQL字符串分隔符替換'「':''' –

+0

使用==而不是= –

回答

0

這使得問題很難看:

Tipo text not null CHECK (Tipo = "Semaforos" or Tipo = "Senalizacion" or Tipo = "Calzada" Tipo = "Parquimetro" Tipo = "Otro"), 

你應該更好的格式化您的代碼,那麼它更容易看到缺什麼:

Tipo text not null CHECK (Tipo = "Semaforos" or 
          Tipo = "Senalizacion" or 
          Tipo = "Calzada"   -- here 
          Tipo = "Parquimetro"  -- and here 
          Tipo = "Otro"), 

總之,多值的檢查可以使用IN更簡單:

CHECK (Tipo IN ('Semaforos', 'Senalizacion', 'Calzada', 'Parquimetro', 'Otro'))