SQLite

Kuinka käyttää SQLite-automaattista lisäystä

Kuinka käyttää SQLite-automaattista lisäystä
SQLite tukee AUTOINCREMENT-avainsanaa, joka lisää tietyn tietokannan taulukon määritetyn kentän arvoa automaattisesti. Oletuksena, kun luot tietokantataulukon, saat 64-bittisen allekirjoitetun kokonaisluvun edustamaan riviä IP tai ROWID. Tämä vaihtoehto on oletusarvoisesti käytettävissä, ellei sitä ole erikseen määritelty ilman ROWID-avainsanoja.

ROWID-sarake kasvaa automaattisesti, kun lisäät tietoja taulukkoon. Harkitse esimerkiksi alla olevaa kyselyä tietojen luomiseksi ja lisäämiseksi.

LUO TAULUKKO "demo" (
"nimi" TEKSTI,
"rooli" TEKSTI
);

Lisää seuraavaksi tietoja yllä luotuun taulukkoon käyttämällä alla olevaa kyselyä:

INSERT IN "main"."demo" ("nimi", "rooli") ARVOT ('Mari Clovis', 'Web-kehittäjä');
INSERT IN "main"."demo" ("nimi", "rooli") ARVOT ('Terhi Antonije', 'laitteistoinsinööri');

Nyt:

Jos suoritamme SELECT-kyselyn taulukossa, saamme taulukon alla olevan kuvan mukaisesti.

SELECT oid, nimi, rooli FROM demo;

Kuten yllä olevasta lähdöstä nähdään, SQLite luo automaattisesti kentän (ROWID), joka kasvaa automaattisesti, kun tietoja lisätään taulukkoon.

Voit kuitenkin määrittää rivin tunnuksen nimenomaisesti, kun luot taulukkoa AUTOINCREMENT-avainsanalla. Keskustelkaamme miten tämä tehdään tässä opetusohjelmassa.

Kuinka käyttää AUTOINCREMENT

Avataksesi AUTOINCREMENT-avainsanan, määritetty kenttä hyväksyy vain INTEGER-arvot. Avainsanan AUTOINCREMENT yleinen syntaksin muoto on:

LUO TAULUKKO "demo2" (
"Field1" INTEGER,
ENSIMMÄINEN AVAIN ("Kenttä1" -KÄYTTÖASEMA)
);

Harkitse esimerkiksi seuraavaa taulukkoa:

LUO TAULUKKO "käyttäjät" (
"Ei" INTEGER,
"Nimi" TEKSTI,
"Ikä" INTEGER,
"Kieli" TEKSTI,
ENSIMMÄINEN AVAIN ("EI" AUTOINCREMENT)
);

Lisätään tiedot taulukkoon käyttämällä alla olevaa kyselyä:

INSERT IN "main"."käyttäjät" ("Ei", "Nimi", "Ikä", "Kieli") ARVOT ('1', 'Danuše Bob', '23', 'Python, Java');
INSERT IN "main"."käyttäjät" ("Ei", "Nimi", "Ikä", "Kieli") ARVOT ('2', 'Glaucia Martha', '30', 'JavaScript, Ruby on Rails');
INSERT IN "main"."käyttäjät" ("Ei", "Nimi", "Ikä", "Kieli") ARVOT ('3', 'Tindra Alona', '25', 'C ++, Bash');
INSERT IN "main"."käyttäjät" ("Ei", "Nimi", "Ikä", "Kieli") ARVOT ('4', 'Yakau Kelley', '33', 'Java, Mathematica, Python');

Kun olet suorittanut yllä olevan kyselyn, saat taulukon, jossa on seuraavat tiedot:

Huomaa, että Ei-kentän arvot kasvavat automaattisesti. Voit myös määrittää lisättävien tietojen sijainnin tai sijainnin. Esimerkiksi, jos haluat lisätä tietoja arvoon No (id) 1000, määritä arvo alla olevan kyselyn mukaisesti:

INSERT IN "main"."käyttäjät" ("Ei", "Nimi", "Ikä", "Kieli") ARVOT ('1000', 'Chestirad Orval', '22', 'Java, Matlab, C #);

Nyt kun kysyt tietoja yllä olevasta taulukosta, näet alla olevan taulukon:

SELECT * käyttäjiltä;

Kuten yllä olevasta lähdöstä näet, lisäämämme tiedot sijaitsevat kohdassa 1000 määritellyllä tavalla. Suurin arvo voi olla arvolla 9223372036854775807. Jos yrität lisätä enemmän tietoja, kun se on saavuttanut enimmäisarvon, SQLite etsii käyttämätöntä arvoa ja lisää tietoja kyseiseen sijaintiin.

MERKINTÄ: SQLite suosittelee AUTOINCREMENTin käyttöä, koska voit oppia lisää alla olevasta resurssista

https: // sqlite.org / autoinc.html

Johtopäätös

Tässä opetusohjelmassa on käsitelty SQL-automaattisen avainsanan käyttöä eri kentissä. Ennen kuin päätät, milloin AUTOINCREMENT-avainsanaa käytetään, varmista, että luet sen dokumentaation, ominaisuudet ja rajoitukset.

Middle mouse button not working in Windows 10
The middle mouse button helps you scroll through long webpages and screens with a lot of data. If that stops, well you will end up using the keyboard ...
How to change Left & Right mouse buttons on Windows 10 PC
It's quite a norm that all computer mouse devices are ergonomically designed for right-handed users. But there are mouse devices available which are s...
Emulate Mouse clicks by hovering using Clickless Mouse in Windows 10
Using a mouse or keyboard in the wrong posture of excessive usage can result in a lot of health issues, including strain, carpal tunnel syndrome, and ...