ALTER TABLE AUTO_INCREMENT number in a Trigger I want to have my auto increment column to increment by step of 3 upon insert.

Can I do something like:

Alter table `mytable` auto_increment = (select max(id) from mytable) + 3;


in a Trigger?

I understand that MySQL has a AUTO_INCREMENT_INCREMENT setting, but since I am on a shared server, I cannot change it.
In MySQL you can insert directly into AUTO_INCREMENT Column. So, take this example from MySQL manual:

CREATE TABLE animals (
     id MEDIUMINT NOT NULL AUTO_INCREMENT,
     name CHAR(30) NOT NULL,
     PRIMARY KEY (id)
) ENGINE=MyISAM;

INSERT INTO animals (name) VALUES
    ('dog'),('cat'),('penguin'),
    ('lax'),('whale'),('ostrich');

SELECT * FROM animals;


Which returns:

+----+---------+
| id | name    |
+----+---------+
|  1 | dog     |
|  2 | cat     |
|  3 | penguin |
|  4 | lax     |
|  5 | whale   |
|  6 | ostrich |
+----+---------+


Let's try this:

TRUNCATE TABLE animals;

CREATE TRIGGER increment_insert BEFORE INSERT ON animals
  FOR EACH ROW 
    SET NEW.id = (SELECT MAX(id) + 2 FROM animals);

INSERT INTO animals (name) VALUES
    ('dog'),('cat'),('penguin'),
    ('lax'),('whale'),('ostrich');

SELECT * FROM animals;


Which returns:

| ID |    NAME |
|----|---------|
|  1 |     dog |
|  3 |     cat |
|  5 | penguin |
|  7 |     lax |
|  9 |   whale |
| 11 | ostrich |


(BTW, it is not STEP of 3, it is STEP of 2 you are after)

SQL Fiddle