Good job! There are a couple of ways to automatically generate numerical values. The first one we're going to talk about is IDENTITY, which is mainly used for generating primary key values. Here is how we'd use IDENTITY in a CREATE TABLE statement to set up a primary key column named Id:
CREATE TABLE TableName (
Id INT PRIMARY KEY IDENTITY (1, 1)
...
)
IDENTITY takes two arguments: seed (the starting value) and increment (how much is added to the previous value to make a new value). You must specify both arguments or neither.
For a non-primary column, the relevant column definition will look like this:
Amount INT IDENTITY
In the Amount column, we did not specify the seed and increment values—we used the default values. In each of these columns, the database will generate a value that starts from 1 and increases by 1 (i.e., 1, 2, 3, 4, ...). However, if you use IDENTITY with different arguments—e.g., IDENTITY(20, 2)—the values will be different (20, 22, 24, 26, ...).
Okay. In the Author table, suppose that we've added IDENTITY(9, 1) to the Id column. Now let's insert the first record:
INSERT INTO Author (FirstName, LastName, Photo)
VALUES (N'Evo', N'Black', N'imgs/black2.jpg');
And this is the result of that INSERT operation:
| Id |
FirstName |
LastName |
Photo |
CreateDateTime |
IsActive |
| 9 |
Evo |
Black |
imgs/black2.jpg |
2018-10-10 12:02:22 |
0 |
Notice that you have to omit the Id column with IDENTITY; its value will be generated based on IDENTITY.