Πίνακας AUTO INCREMENT SQL
- Προηγούμενη Σελίδα Τροποποίηση SQL
- Επόμενη Σελίδα Προβολή SQL
Η αυτόματη αύξηση δημιουργεί έναν μοναδικό αριθμό όταν εισάγεται ένα νέο ρεκόδο στην τράπεζα δεδομένων.
Πεδίο AUTO INCREMENT
Γενικά ελπίζουμε να δημιουργείται αυτόματα η τιμή του κλειδιού κύριας κλίμακας κάθε φορά που εισάγουμε νέο ρεκόρ.
Μπορούμε να δημιουργήσουμε ένα πεδίο auto-increment στη τράπεζα δεδομένων.
Γλώσσα σύνταξης για το MySQL
Η παρακάτω SQL εντολή καθορίζει τη στήλη "P_Id" στη τράπεζα δεδομένων "Persons" ως auto-increment κλειδί:
CREATE TABLE Persons ( P_Id int NOT NULL AUTO_INCREMENT, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), PRIMARY KEY (P_Id) )
Το MySQL χρησιμοποιεί το κλειδί AUTO_INCREMENT για να εκτελεί τη λειτουργία auto-increment.
Από προεπιλογή, η αρχική τιμή του AUTO_INCREMENT είναι 1, και κάθε νέο ρεκόρ αυξάνεται κατά 1.
Για να ξεκινήσει η σειρά AUTO_INCREMENT από άλλη τιμή, χρησιμοποιήστε την παρακάτω SQL γλώσσα:
ALTER TABLE Persons AUTO_INCREMENT=100
Για να εισάγουμε νέο ρεκόρ στη στήλη "Persons", δεν χρειάζεται να καθορίσουμε τιμή για τη στήλη "P_Id" (θα προσθέσει αυτόματα μια μοναδική τιμή):
INSERT INTO Persons (FirstName,LastName) VALUES ('Bill','Gates')
Η παραπάνω συνθήκη SQL θα εισάγει ένα νέο ρεκόρο στην τάbla "Persons". Η τιμή του "P_Id" θα είναι μοναδική. Το "FirstName" θα ρυθμιστεί σε "Bill", η στήλη "LastName" θα ρυθμιστεί σε "Gates".
Γλώσσα σύνταξης για το SQL Server
Η παρακάτω SQL εντολή καθορίζει τη στήλη "P_Id" στη τράπεζα δεδομένων "Persons" ως auto-increment κλειδί:
CREATE TABLE Persons ( P_Id int PRIMARY KEY IDENTITY, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255) )
Το MS SQL χρησιμοποιεί το κλειδί IDENTITY για να εκτελεί τη λειτουργία auto-increment.
Από προεπιλογή, η αρχική τιμή του IDENTITY είναι 1, και κάθε νέο ρεκόρ αυξάνεται κατά 1.
Για να καθορίσουμε τη στήλη "P_Id" να ξεκινά από 20 και να αυξάνεται κατά 10, αλλάξτε το identity σε IDENTITY(20,10):
Για να εισάγουμε νέο ρεκόρ στη στήλη "Persons", δεν χρειάζεται να καθορίσουμε τιμή για τη στήλη "P_Id" (θα προσθέσει αυτόματα μια μοναδική τιμή):
INSERT INTO Persons (FirstName,LastName) VALUES ('Bill','Gates')
Η παραπάνω συνθήκη SQL θα εισάγει ένα νέο ρεκόρο στην τάbla "Persons". Η τιμή του "P_Id" θα είναι μοναδική. Το "FirstName" θα ρυθμιστεί σε "Bill", η στήλη "LastName" θα ρυθμιστεί σε "Gates".
Γλώσσα σύνταξης για το Access
Η παρακάτω SQL εντολή καθορίζει τη στήλη "P_Id" στη τράπεζα δεδομένων "Persons" ως auto-increment κλειδί:
CREATE TABLE Persons ( P_Id int PRIMARY KEY AUTOINCREMENT, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255) )
Το MS Access χρησιμοποιεί το κλειδί AUTOINCREMENT για να εκτελεί τη λειτουργία auto-increment.
Από προεπιλογή, η αρχική τιμή του AUTOINCREMENT είναι 1, και κάθε νέο ρεκόρ αυξάνεται κατά 1.
Για να καθορίσουμε τη στήλη "P_Id" να ξεκινά από 20 και να αυξάνεται κατά 10, αλλάξτε το autoincrement σε AUTOINCREMENT(20,10):
Για να εισάγουμε νέο ρεκόρ στη στήλη "Persons", δεν χρειάζεται να καθορίσουμε τιμή για τη στήλη "P_Id" (θα προσθέσει αυτόματα μια μοναδική τιμή):
INSERT INTO Persons (FirstName,LastName) VALUES ('Bill','Gates')
Η παραπάνω συνθήκη SQL θα εισάγει ένα νέο ρεκόρο στην τάbla "Persons". Η τιμή του "P_Id" θα είναι μοναδική. Το "FirstName" θα ρυθμιστεί σε "Bill", η στήλη "LastName" θα ρυθμιστεί σε "Gates".
Γλώσσα για το Oracle
Στο Oracle, ο κώδικας είναι λίγο πιο περίπλοκος.
Πρέπει να χρησιμοποιήσετε τη σειρά για να δημιουργήσετε πεδία αυτόματης αύξησης (το αντικείμενο αυτό δημιουργεί μια σειρά αριθμών).
Χρησιμοποιήστε την παρακάτω γλώσσα για CREATE SEQUENCE:
CREATE SEQUENCE seq_person MINVALUE 1 START WITH 1 INCREMENT BY 1 CACHE 10
Το παραπάνω κώδικας δημιουργεί ένα αντικείμενο σειράς με το όνομα seq_person, το οποίο ξεκινάει από 1 και αυξάνεται κατά 1. Το αντικείμενο αυτό αποθηκεύει 10 τιμές για να βελτιώσει την απόδοση. Η επιλογή CACHE καθορίζει πόσα σειράς πρέπει να αποθηκευτούν για να βελτιώσουν την ταχύτητα πρόσβασης.
Για να εισάγουμε ένα νέο ρεκόρο στην τάbla "Persons", πρέπει να χρησιμοποιήσουμε τη συνάρτηση nextval (η συνάρτηση αυτή επιστρέφει τον επόμενο αριθμό από τη σειρά seq_person):
INSERT INTO Persons (P_Id,FirstName,LastName) VALUES (seq_person.nextval,'Lars','Monsen')
Η παραπάνω συνθήκη SQL θα εισάγει ένα νέο ρεκόρ στην τάbla "Persons". Η τιμή του "P_Id" θα είναι ο επόμενος αριθμός από τη σειρά seq_person. Το "FirstName" θα ρυθμιστεί σε "Bill", η στήλη "LastName" θα ρυθμιστεί σε "Gates".
- Προηγούμενη Σελίδα Τροποποίηση SQL
- Επόμενη Σελίδα Προβολή SQL