I have a table with a primary key using AUTO_INCREMENT. I want this column to start at 1 and increment by 3, but I can’t find how to increase the amount the column increments by.
ALTER TABLE tbl AUTO_INCREMENT = 3; makes the value start at 3, but still increments by 1. T-SQL equivalent would be IDENTITY(1,3).
2
Answers
@Stu is correct, MySQL does not support an equivalent of Microsoft SQL Server’s
IDENTITY()
. You can’t set the value ofauto_increment_increment
for a specific table. It applies to all tables.You can set
auto_increment_increment
as a session variable before inserting into yourtbl
table, then set it back to the default value after the insert. But you’d have to remember to do this every time.In general, the feature of auto-increment primary keys varies a lot between different implementations of SQL. The SQL:2003 standard includes more general syntax for generated primary key values, but MySQL does not support that syntax.
You might like to use PostgreSQL instead of MySQL if you need an open-source SQL database that has support for more SQL:2003 features.
You can try this approach to increment the ID during insert programatically :