The SQLite databashanteraren packar en omfattande uppsättning funktioner i ett litet program bibliotek - mindre än 350 kB . Det uppnår denna effektivitet bland annat genom kompromisser i sina datatyper , till exempel , stöder heltal , tecken och fält klump men inte ENUM . Du kan arbeta runt ENUM begränsningen och uppnå mycket av samma funktionalitet genom att utnyttja SQLite övriga funktioner och genom noggrann programmeringsgränssnitt . ENUM Datatyp
När du skapar en uppräknad , eller ENUM , datatyp , definierar du en lista över godkända datavärden . Till exempel innehåller en datatabell om filmvärderingar ett antal stjärnor , från noll till fyra - ingen film får ett tio - stjärnor, oavsett hur bra det är , och ingen får ett negativt omdöme , oavsett hur illa det är . Du kan använda en ENUM för bordets Standard fältet , vilket ger värdena på de heltal från noll till fyra . Vissa programmeringsspråk , inklusive Java och SQL chefer databas som MySQL och Oracle omfattar ENUM datatyp , men det är inte en del av SQL 92 -standarden. Addera SQL Field Constraints
Även SQLite inte erbjuder en ENUM datatyp , kan du lägga till en egenskap som kallas en check tvång till ett fält , och därigenom tvinga den att ta emot värden från en begränsad lista . Till exempel , säga att du upprätta en statlig fält och vill begränsa sina värderingar till den uppsättning av två tecken amerikanska statliga förkortningar . När du skapar tabellen i SQLite , ställer du upp det statliga området som en CHAR typ och sedan lägga en check tvång som listar de 50 statliga förkortningar . SQLite stöder kontrollera begränsningar som i version 3.3.0 , innan den versionen , SQLite tolkas begränsningar men inte genomdriva dem . Om du lägger till ett hinder för en tabell som redan innehåller data , inte kolla SQLite inte befintliga värden . Om en användare försöker att lägga till värden i tabellen som inte ingår i de begränsningar , genererar SQLite ett feltillstånd , blockera affären .
SQL-satser
som en extra test för att säkerställa att datatabeller får rätt värden , skapa SQL SELECT uttalanden som ser för dessa värden . Till exempel ser följande SELECT för poster filmens klassning som har ett felaktigt antal stjärnor :
SELECT COUNT ( * ) FROM movie_ratings DÄR stjärnor INTE IN ( 0,1,2,3,4 )
den returnerar en noll räkna om den finner poster som har stjärniga betyg ligger utanför intervallet noll till fyra . Använd tester såsom detta för att kontrollera att tabellerna har korrekta värden . Om du hittar poster med felaktiga uppgifter , undersöka checkbegränsningar för saknade eller extra värden . Förutom SQL-satser
programlogik
, logiken i applikationsprogram kan också kontrollera värdena av data som går in SQLite databaser . Till exempel, när användarna skriver in information i en datainmatningsskärm formulär , testar skärmen logik varje värde och visar ett meddelande som uppmanar användaren att åtgärda felaktiga uppgifter .