Programming Tutorials

Modify a auto_increment id column in mysql to accept a 5 digit random number instead

By: Peter in MySQL Tutorials on 2023-03-27  

You can modify the column definition to remove the auto-increment property and then set a default value of a randomly generated 5-digit number.

Here are the steps you can follow:

Alter the table to drop the auto-increment property of the column:

ALTER TABLE my_table MODIFY COLUMN id INT;

This will remove the auto-increment property from the id column.

Alter the table again to set the default value for the id column:

ALTER TABLE my_table ALTER COLUMN id SET DEFAULT (FLOOR(RAND() * 90000) + 10000);

This will set a default value for the id column that is a randomly generated 5-digit number between 10000 and 99999.

Note that this default value will only be applied to new rows that are inserted into the table.

Add a unique constraint to the id column to ensure that each value is unique:

ALTER TABLE my_table ADD CONSTRAINT unique_id UNIQUE (id);

This will add a unique constraint to the id column, which will ensure that each value is unique.

Optionally, you can create a trigger to generate a random value for the id column whenever a new row is inserted:

CREATE TRIGGER my_trigger BEFORE INSERT ON my_table
FOR EACH ROW
BEGIN
  SET NEW.id = FLOOR(RAND() * 90000) + 10000;
END;

This will create a trigger that sets the id column to a random value between 10000 and 99999 whenever a new row is inserted into the table.

Note that modifying a column in a production database can be a risky operation, so it is recommended that you make a backup of your data before making any changes. Also, be sure to test your changes thoroughly to ensure that they do not cause any unintended side effects.






Add Comment

* Required information
1000

Comments

No comments yet. Be the first!

Most Viewed Articles (in MySQL )

Deleting Data in MySQL

Use a dynamic table name in a SQL Server SELECT statement

MySQL Strengths and Weaknesses

Querying the Database in MySQL

ERROR 1251: Client does not support authentication protocol requested by server; consider upgrading MySQL client

Finding slow queries in MySQL - Enable slow query log.

mysqldumpslow in MySQL - Summarize slow query log.

Table __________ is marked as crashed and should be repaired.

What is SQL Injection

Changing the Structure of an Existing Table in MySQL

Inserting Data into Tables in MySQL

Modifying data and using WHERE clause in MySQL

Modify a auto_increment id column in mysql to accept a 5 digit random number instead

Sample my.cnf (my.ini) for MySQL with 1GB RAM

Windows cannot access the specified device, path or file. You may not have the appropriate permissions to access them.

Latest Articles (in MySQL)