EDUCBA Logo

EDUCBA

MENUMENU
  • Explore
    • EDUCBA Pro
    • PRO Bundles
    • Featured Skills
    • New & Trending
    • Fresh Entries
    • Finance
    • Data Science
    • Programming and Dev
    • Excel
    • Marketing
    • HR
    • PDP
    • VFX and Design
    • Project Management
    • Exam Prep
    • All Courses
  • Blog
  • Enterprise
  • Free Courses
  • Log in
  • Sign Up
Home Data Science Data Science Tutorials SQLite Tutorial SQLite autoincrement
 

SQLite autoincrement

Updated April 3, 2023

SQLite autoincrement

 

 

Definition of SQLite autoincrement

SQLite provides the auto-increment facility to the user, in which that we increment integer value automatically as per the requirement. Basically, it is applicable for roll number or we can say if we need to generate any id that time we can use AUTOINCREMENT property. Without specifying an AUTO-INCREMENT option then we get a rowid column and it is used to 64 bit signed integer numbers that are helpful to uniquely identify rows in the table. If we need to use an increment column field then use AUTOINCREMENT keyword and it can be used with an only integer value.

Watch our Demo Courses and Videos

Valuation, Hadoop, Excel, Mobile Apps, Web Development & many more.

Syntax:

create table specified table name(colm name 1 integer autoincrement, colm name 2 data type, colm name 3 data type, ……..coln name N data type);

Explanation

In the above syntax, we create a table statement to use the AUTOINCREMENT property of SQLite, here we use different parameters as follows.

  • specified table name: specified table name means the actual table name that we need to create.
  • colm name 1: It is used as column name from a specified table name that we need to add or in other word we say that attribute of the table.
  • Integer: it is the data type of the specified table name.
  • autoincrement: It is a keyword used with an integer data type.

How SQLite autoincrement function works?

Now let’s see how AUTOINCREMENT works in SQLite as follows. Basically, there are two ways to create an AUTOINCREMENT column as follows.

  • Without AUTOINCREMENT Keyword

At the point when we declared column data type as INTEGER with PRIMARY KEY constraint, then it will automatically increment. Thus, you don’t really have to use the AUTOINCREMENT keyword to increment the value of the column.

At the point when you do this, any NULL qualities are changed over into the current ROWID. All in all, in the event that you embed NULL into that section, it will be changed over to the current ROWID. So we can say that column becomes an alias for the ROWID. It provides the different names to access the ROWID such as ROWID, _ROWID_, and OID.

A main advantage of the AUTOINCREMENT keyword is that it lessens CPU, memory, disk space, and disk I/O overhead.

On the other hand, we can’t give a guarantee that all rows will be incremented in any particular order because of the auto-increment working structure. At the point when you preclude the AUTOINCREMENT catchphrase, when ROWID is equivalent to the biggest conceivable number (9223372036854775807), SQLite will attempt to locate an unused positive ROWID at arbitrary.

Sometimes, as long as you never utilize the most extreme ROWID worth and you never erase the passage in the table with the biggest ROWID, this technique will produce monotonically expanding special ROWIDs.

  • With AUTOINCREMENT Keyword

When we use this method, there are slightly different types of algorithms used to calculate the auto-increment value. At the point when you use the AUTOINCREMENT keyword, the ROWID picked for the new column is at any rate one bigger than the biggest ROWID that has at any point before existed in that equivalent table or we can say that, it will not return and reuse recently erased ROWID esteems. When the biggest conceivable ROWID has been embedded, no new embeds are permitted. Any endeavor to embed another line will come up short with an SQLITE_FULL blunder. Hence utilizing this strategy ensures that the ROWIDs are monotonically expanding. Finally, we can say the value will be incremented by 1 which means it will never decrease.

Examples

Now let’s see the different examples of AUTOINCREMENT as follows. Create a new table with two column names by using the following statement as follows.

create table sample (name text not null, address text not null);
.table

Explanation

In the above example, we use a create table statement to create a new table name as a sample with two attributes such as name and address with text data type as shown in the above statement. The end out of the above statement we illustrated by using the following screenshot.

SQLite autoincrement 1

Now insert some records into the sample table by using insert into the statement as follows.

insert into sample (name , address) values("Johan", "Mumbai"), ("Jenny", "Delhi");

After the insertion operation, we can use a select statement to see the inserted records as follows.

select rowed, name, address from sample;

Explanation

By using the above statement we can see the inserted records but see, what happens, here we can’t mention an AUTOINCREMENT keyword till it shows incremented integer values in order. That means there is no need to specify the AUTOINCREMENT keyword because column name and rowid automatically assign integer value when we perform the insert operation and column name uses rowid as an alias. The end out of the above statement we illustrated by using the following screenshot.

SQLite autoincrement 2

Now see another example with a primary key as follows. Create a new table with the primary key constraint as follows.

create table emp (emp_id integer primary key,emp_name text not null, address text not null);

Explanation

Here we created a new table name as emp and in this case, the emp_id column is referred as rowid column.

Now perform the insert operation as follows.

insert into emp (emp_id, emp_name, address) values(1254541, "Johan", "Mumbai");

Now see inserted records by using the select statement as follows.

select * from emp;

The end out of the above statement we illustrated by using the following screenshot.

SQLite autoincrement 3

Now insert one more row as follows without emp_id as follows.

insert into emp (emp_name, address) values( "Jenny", "Mumbai");

Explanation

Now compare both emp_id clearly shows incremented integer values. The end out of the above statement we illustrated by using the following screenshot.

SQLite autoincrement 4

Now let’s see how we can use the AUTOINCREMENT keyword as follows.

create table college (stud_id integer primary key AUTOINCREMENT, name text not null, address text not null);

Now we have a table now insert some records by using insert into the statement as follows.

insert into college (stud_id, name, address) values(10, "Jenny", "Mumabi");

Now see inserted records by using select statements as follows.

select * from college;

The end out of the above statement we illustrated by using the following screenshot.

jenny mumbai

Now insert one more row as follows.

insert into college(name, addres) values( "Krish", "Mumbai");

Then it shows the error message because stud_id did not reuse.

Conclusion

We hope from this article you have understood about the SQLite AUTOINCREMENT. From the above article, we see different examples of SQLite AUTOINCREMENT. We also learned the rules of SQLite AUTOINCREMENT. From this article, we learned how and when we use SQLite AUTOINCREMENT.

Recommended Articles

We hope that this EDUCBA information on “SQLite autoincrement” was beneficial to you. You can view EDUCBA’s recommended articles for more information.

  1. SQL Port
  2. SQL DATEDIFF()
  3. SQL GROUP BY DAY
  4. SQL Super Key

Primary Sidebar

Footer

Follow us!
  • EDUCBA FacebookEDUCBA TwitterEDUCBA LinkedINEDUCBA Instagram
  • EDUCBA YoutubeEDUCBA CourseraEDUCBA Udemy
APPS
EDUCBA Android AppEDUCBA iOS App
Blog
  • Blog
  • Free Tutorials
  • About us
  • Contact us
  • Log in
Courses
  • Enterprise Solutions
  • Free Courses
  • Explore Programs
  • All Courses
  • All in One Bundles
  • Sign up
Email
  • [email protected]

ISO 10004:2018 & ISO 9001:2015 Certified

© 2025 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
Loading . . .
Quiz
Question:

Answer:

Quiz Result
Total QuestionsCorrect AnswersWrong AnswersPercentage

Explore 1000+ varieties of Mock tests View more

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA
Free Data Science Course

Hadoop, Data Science, Statistics & others

By continuing above step, you agree to our Terms of Use and Privacy Policy.
*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you

EDUCBA Login

Forgot Password?

🚀 Limited Time Offer! - 🎁 ENROLL NOW