Skip to main content

MySql: Auto_Increment Column: All About Insert Values

Let's say we want to create a table in which each row will get unique id while inserting new row, means while we're inserting new row that particular column-value will be automatically inserted with unique integer value.
In this scenario we can use "AUTO_INCREMENT" column type.

-- drop table if exists
DROP TABLE IF EXISTS `TEST_AUTO_INCREMENT`

-- create a dummy table
CREATE TABLE TEST_AUTO_INCREMENT
  (
     Id INT AUTO_INCREMENT PRIMARY KEY
     , FirstName CHAR(40)
  )

-- AUTO_INCREMENT is applicable only with following data-types (integral data-types)
  TINYINT
  SMALLINT
  MEDIUMINT
  INT
  BIGINT

  DOUBLE

-- we can insert auto-increment values in different ways
-- If want to use the database generated vaules

  either don't include the AUTO_INCREMENT column into the insert statement
 
INSERT INTO TEST_AUTO_INCREMENT (FirstName) VALUES ('SriRam');


  or if we're considering that column too then use (0, '', NULL, DEFAULT) key-word or SET qualifier

INSERT INTO TEST_AUTO_INCREMENT (Id, FirstName) VALUES ('','Ram');
INSERT INTO TEST_AUTO_INCREMENT (Id, FirstName) VALUES (DEFAULT,'Shyam');
INSERT INTO TEST_AUTO_INCREMENT (Id, FirstName) VALUES (NULL,'Mohan');
INSERT INTO TEST_AUTO_INCREMENT (Id, FirstName) VALUES (0,'Sohan');


INSERT INTO TEST_AUTO_INCREMENT SET FirstName='ShyamMohan-1';

-- If we want to use the self-specified values
INSERT INTO TEST_AUTO_INCREMENT VALUES (11,'Krishna');
INSERT INTO TEST_AUTO_INCREMENT SET Id = 20, FirstName='ShyamMohan-2';




After executing all these statements we can see the result like this.

  
Auto_Increment Insert Queires & Result

In next section we'll discuss how to reset the increment value, should we use LAST_INSERT_ID()
or not, how does auto_increment behave after restarting MySql instance, what happen if column's max size got exceeded (e.g. if we're using tinyint as column data-type and trying to insert values as 234).

Comments

Popular posts from this blog

EFCore - Collate function

Search in SQL server query is generally case insensitive (by default or based on database level collation). Suppose we have an employees table with a row having first-name column value as "My-First-Name", so if we want to do the case-sensitive search we have to explicitly use the related collate: In EF 5 (currently in Release Candidate version [RC.2.20475.6]) Collate function got introduced which helps us to use our specific collation based search.  C# with EF5 code sample: var employeeCaseSensitiveSearch = _dbContext.Employees .Where(x => EF.Functions.Collate(x.FirstName, "Latin1_General_CS_AS") == "my-first-name") .FirstOrDefault(); A related database query will be something like this: T-SQL: Case sensitive search (use specific collation e.g.: Latin1_General_CS_AS) SELECT * FROM dbo.Employees AS e WHERE e.FirstName Collate Latin1_General_CS_AS = 'my-first-name' Some of the useful CSharp function which g...

How to install Zen-coding plugin

As a web-developer, irrespective of the technologies (java, c-sharp, python, php e.t.c.…), we used to write CSS code to make our web-pages looks good if not at least we’re involved in write html codes. What if there is some tool to whom you give some instruction and that tool generates a good, well formatted html tags for you. These kind of coding is possible and known as “ Zen coding ” and there are lots of plug-in available from different vendors. We’re going to  discuss the steps to install this “zen-coding” plugin for “visual studio, eclipse, sublime-text & notepad++ in next few lines. Follow the below steps to install "zen-coding" plugin based on your editor.  Steps to install zen-coding plugin for (visual studio, eclipse, sublime-text,notepad++) -- -- For Visual Studio 1. Go to "Tools" -> "Extensions and Updates" 2. It'll open the "Extensions and Updates windows"    Select online form Left hand menu items ent...

EFCore - Scaffold-DbContext how to use

EFCore versions, we don't have GUI to manage the DB-entities & dbContext like we used to have with EF6 (or EF5/4 version). With EFCore we've the Scaffold-DbContext command which helps us to create entities & DB context from our DB-objects.  Let's see how to use Scaffold-DbContext: Assume we're connecting with SQL Server so after creating a sample project you'll have to install EFCore related libraries as mentioned below.  Install entity-framework-core for SQL Server, at this time 3.1.9 is the latest stable version   Microsoft.EntityFrameworkcore   Microsoft.EntityFrameworkCore.SqlServer  To use Scaffold-DbContext, following two NuGet packages are required Microsoft.EntityFrameworkCore.Tools  Microsoft.EntityFrameworkCore.Design Let's say we've two DB tables (e.g. dbo.Employees & dbo.Users )  Now let's see how to use Scaffold-DbContext to create c-...