SQLite AUTOINCREMENT is a keyword used for auto incrementing a value of a field in the table. We can auto increment a field value by using AUTOINCREMENT keyword when creating a table with specific column name to auto increment.
A primary key is a field in a table which uniquely identifies the each rows/records in a database table. Primary keys must contain unique values. A primary key column cannot have NULL values.
A table can have only one primary key, which may consist of single or multiple fields. When multiple fields are used as a primary key, they are called a composite key.
If a table has a primary key defined on any field(s), then you cannot have two records having the same value of that field(s).
Note: You would use these concepts while creating database tables.
Here is the syntax to define ID attribute as a primary key in a COMPANY table.
To create a PRIMARY KEY constraint on the 'ID' column when COMPANY table already exists, use the following SQLite syntax −
For defining a PRIMARY KEY constraint on multiple columns, use the following SQLite syntax −
To create a PRIMARY KEY constraint on the 'ID' and 'NAMES' columns when COMPANY table already exists, use the following SQLite syntax −
You can clear the primary key constraints from the table, Use syntax −
Auto Increment is a function that operates on numeric data types. It automatically generates sequential numeric values every time that a record is inserted into a table for a field defined as auto increment.
In the lesson on database normalization, we looked at how data can be stored with minimal redundancy, by storing data into many small tables ,related to each other using primary and foreign keys.
A primary key must be unique as it uniquely identifies a row in a database. But, how can we ensure that the primary key is always unique? One of the possible solutions would be, to use a formula to generate the primary key, which checks for existence of the key, in the table, before adding data. This may work well but as you can see the approach is complex and not foolproof. In order to avoid such complexity and to ensure that the primary key is always unique, we can use MySQL's Auto increment feature to generate primary keys. Auto increment is used with the INT data type. The INT data type supports both signed and unsigned values. Unsigned data types can only contain positive numbers. As a best practice, it is recommended to define the unsigned constraint on the auto increment primary key.
Let's now look at the script used to create the movie categories table.
Notice the 'AUTO_INCREMENT' on the category_id field. This causes the category Id to be automatically generated every time a new row is inserted into the table. It is not supplied when inserting data into the table, MySQL generates it.
By default, the starting value for AUTO_INCREMENT is 1, and it will increment by 1 for each new record
/download-wifi-password-key-generator.html. Let's examine the current contents of the categories table.
Executing the above script in MySQL workbench against the myflixdb gives us the following results.
Let's now insert a new category into the categories table .
Executing the above script against the myflixdb in MySQL workbench gives us the following results shown below.
Note we didn't supply the category id. MySQL automatically generated it for us because the category id is defined as auto increment.
If you want to get the last insert id that was generated by MySQL, you can use the LAST_INSERT_ID function to do that. The script shown below gets the last id that was generated.
Executing the above script gives the last Auto increment number generated by the INSERT query. The results are shown below.