SQLite

Kā izmantot SQLite Autoincrement

Kā izmantot SQLite Autoincrement
SQLite atbalsta atslēgvārdu AUTOINCREMENT, kas automātiski palielina norādītā lauka vērtību datu bāzes tabulā. Pēc noklusējuma, izveidojot datu bāzes tabulu, jūs iegūsiet 64 bitu parakstītu veselu skaitli, kas apzīmē IP vai ROWID rindu. Šī opcija ir pieejama pēc noklusējuma, ja vien tā nav skaidri norādīta, izmantojot atslēgvārdus BEZ ROWID.

Kolonna ROWID tiek automātiski palielināta, pievienojot datus tabulai. Piemēram, apsveriet tālāk esošo vaicājumu, lai izveidotu un pievienotu datus.

IZVEIDOT TABULU "demonstrācija" (
"nosaukums" TEKSTS,
"loma" TEKSTS
);

Pēc tam pievienojiet datus izveidotajai tabulai iepriekš, izmantojot tālāk sniegto vaicājumu:

INSERT INTO "main"."demo" ("vārds", "loma") VĒRTĪBAS ('Mari Clovis', 'Web Developer');
INSERT INTO "main"."demo" ("vārds", "loma") VĒRTĪBAS ('Terhi Antonije', 'Aparatūras inženieris');

Tagad:

Ja tabulā veiksim SELECT vaicājumu, mēs iegūsim tabulu, kā parādīts zemāk.

SELECT oid, nosaukums, loma NO demo;

Kā redzams no iepriekš minētās izejas, SQLite automātiski izveido lauku (ROWID), kas automātiski palielinās, kad dati tiek pievienoti tabulai.

Tomēr, veidojot tabulu, izmantojot atslēgvārdu AUTOINCREMENT, varat skaidri norādīt rindas ID. Ļaujiet mums apspriest, kā to izdarīt šajā apmācībā.

Kā lietot AUTOINCREMENT

Lai sāktu izmantot AUTOINCREMENT atslēgvārdu, norādītajā laukā ir jāpieņem tikai INTEGER vērtības. Atslēgvārda AUTOINCREMENT vispārējā sintakse ir šāda:

IZVEIDOT TABULU "demo2" (
"Field1" INTEGER,
GALVENĀ ATSLĒGA ("1. lauka" AUTOINCREMENT)
);

Piemēram, lai ņemtu vērā šo tabulu:

IZVEIDOT TABULU "lietotāji" (
"NĒ" INTEGER,
"Nosaukums" TEKSTS,
"Vecums" INTEGER,
"Valoda" TEKSTS,
PAMATKLAVA (AUTOINCREMENT "NĒ")
);

Pievienosim datus tabulai, izmantojot tālāk sniegto vaicājumu:

INSERT INTO "main"."lietotāji" ("Nē", "Vārds", "Vecums", "Valoda") VĒRTĪBAS ('1', 'Danuše Bob', '23', 'Python, Java');
INSERT INTO "main"."lietotāji" ("Nē", "Vārds", "Vecums", "Valoda") VĒRTĪBAS ('2', 'Glaucia Martha', '30', 'JavaScript, Ruby on Rails');
INSERT INTO "main"."lietotāji" ("Nē", "Vārds", "Vecums", "Valoda") VĒRTĪBAS ('3', 'Tindra Alona', '25', 'C ++, Bash');
INSERT INTO "main"."lietotāji" ("Nē", "Vārds", "Vecums", "Valoda") VĒRTĪBAS ('4', 'Yakau Kelley', '33', 'Java, Mathematica, Python');

Kad esat izpildījis iepriekš minēto vaicājumu, jūs saņemsiet tabulu ar zemāk parādītajiem datiem:

Jūs ievērosiet, ka lauka Nē vērtības tiek automātiski palielinātas. Varat arī norādīt pievienojamo datu atrašanās vietu vai atrašanās vietu. Piemēram, lai pievienotu datus ar Nr (id) 1000, norādiet vērtību, kā parādīts zemāk esošajā vaicājumā:

INSERT INTO "main"."lietotāji" ("Nē", "Vārds", "Vecums", "Valoda") VĒRTĪBAS ('1000', 'Chestirad Orval', '22', 'Java, Matlab, C #);

Tagad, ja vaicājat datus iepriekšējā tabulā, redzēsiet tabulu, kā parādīts zemāk:

SELECT * NO lietotājiem;

Kā redzat no iepriekš minētās izejas, mūsu ievietotie dati atrodas 1000. pozīcijā, kā norādīts. Maksimālā vērtība var būt 9223372036854775807. Ja mēģināt pievienot vairāk datu, kamēr tie ir sasnieguši maksimālo vērtību, SQLite meklēs neizmantotu vērtību un ievietos datus šajā vietā.

PIEZĪME: SQLite iesaka izmantot AUTOINCREMENT, jo vairāk varat uzzināt tālāk sniegtajā resursā

https: // sqlite.org / autoinc.html

Secinājums

Šajā apmācībā ir aprakstīts, kā dažādos laukos izmantot SQL automātiskās palielināšanas atslēgvārdu. Pirms izlemjat, kad lietot AUTOINCREMENT atslēgvārdu, noteikti izlasiet tā dokumentāciju, funkcijas un ierobežojumus.

10 labākās spēles, kuras spēlēt Ubuntu
Windows platforma ir bijusi viena no dominējošajām spēļu platformām, jo ​​mūsdienās tiek attīstīts milzīgs spēļu skaits, lai atbalstītu Windows. Vai k...
5 labākās arkādes spēles Linux
Mūsdienās datori ir nopietnas mašīnas, kuras izmanto spēlēšanai. Ja jūs nevarat iegūt jauno augsto rezultātu, jūs zināt, ko es domāju. Šajā ierakstā j...
Cīņa par Vesnotu 1.13.6 Izlaista attīstība
Cīņa par Vesnotu 1.13.6 izlaists pagājušajā mēnesī, ir sestais izstrādes izlaidums 1.13.x sērija un tā nodrošina vairākus uzlabojumus, īpaši lietotāja...