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.
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Most Viewed Articles (in MySQL )
Use a dynamic table name in a SQL Server SELECT statement
Changing the Structure of an Existing Table in MySQL
Modify a auto_increment id column in mysql to accept a 5 digit random number instead
mysqldumpslow in MySQL - Summarize slow query log.
Finding slow queries in MySQL - Enable slow query log.
Sample my.cnf (my.ini) for MySQL with 1GB RAM
Inserting Data into Tables in MySQL
MySQL Strengths and Weaknesses
Modifying data and using WHERE clause in MySQL
Latest Articles (in MySQL)
Use a dynamic table name in a SQL Server SELECT statement
Finding slow queries in MySQL - Enable slow query log.
mysqldumpslow in MySQL - Summarize slow query log.
Sample my.cnf (my.ini) for MySQL with 1GB RAM
Modify a auto_increment id column in mysql to accept a 5 digit random number instead
Changing the Structure of an Existing Table in MySQL
Inserting Data into Tables in MySQL
Querying the Database in MySQL
Use a dynamic table name in a SQL Server SELECT statement
Finding slow queries in MySQL - Enable slow query log.
mysqldumpslow in MySQL - Summarize slow query log.
Sample my.cnf (my.ini) for MySQL with 1GB RAM
Modify a auto_increment id column in mysql to accept a 5 digit random number instead
Changing the Structure of an Existing Table in MySQL
Inserting Data into Tables in MySQL
Querying the Database in MySQL
© 2023 Java-samples.com
Tutorial Archive: Data Science React Native Android AJAX ASP.net C C++ C# Cocoa Cloud Computing EJB Errors Java Certification Interview iPhone Javascript JSF JSP Java Beans J2ME JDBC Linux Mac OS X MySQL Perl PHP Python Ruby SAP VB.net EJB Struts Trends WebServices XML Office 365 Hibernate
Latest Tutorials on: Data Science React Native Android AJAX ASP.net C Cocoa C++ C# EJB Errors Java Certification Interview iPhone Javascript JSF JSP Java Beans J2ME JDBC Linux Mac OS X MySQL Perl PHP Python Ruby SAP VB.net EJB Struts Cloud Computing WebServices XML Office 365 Hibernate