Home >Database >Mysql Tutorial >How to Add Auto-Increment to an Existing MySQL Column Using ALTER TABLE?
MySQL: Modifying Tables with ALTER to Implement Auto-Incrementation
In MySQL, it's often necessary to modify existing tables to add specific functionalities. One such modification involves adding auto-incrementing capabilities to a column. This allows the database to automatically generate unique values for the specified column.
Adding Auto-Increment with ALTER
If you have a table with a column named itemid, you can add auto-increment to it using the following syntax:
ALTER TABLE table_name AUTO_INCREMENT = column_name;
Example
Let's say you have a table called ALLITEMS with a column itemid defined as an unsigned INT(10):
CREATE TABLE ALLITEMS( itemid INT(10) UNSIGNED, itemname VARCHAR(50) );
To add auto-increment to the itemid column, use the following command:
ALTER TABLE ALLITEMS CHANGE itemid itemid INT(10) AUTO_INCREMENT PRIMARY KEY;
This command will make itemid the primary key for the table, ensuring that the column values are unique. You can then insert records into the table using the INSERT statement:
INSERT INTO ALLITEMS(itemname) VALUES ('Apple'), ('Orange'), ('Banana');
To confirm the auto-increment behavior, you can select all records from the table:
SELECT * FROM ALLITEMS;
As you can see, the itemid column now includes automatically generated values.
Changing and Modifying Columns
It's important to note the difference between the CHANGE and MODIFY keywords when altering columns. While they may seem similar, they serve different purposes:
For example, to change the data type of itemid from INT(10) to INT(5), use the following command:
ALTER TABLE ALLITEMS MODIFY itemid INT(5);
The above is the detailed content of How to Add Auto-Increment to an Existing MySQL Column Using ALTER TABLE?. For more information, please follow other related articles on the PHP Chinese website!