Directorio de artículos
MySQL¿Cómo crear una secuencia?base de datos mysqlCrear una instrucción de secuencia de incremento automático
Uso de la secuencia MySQL
La secuencia de MySQL es un conjunto de números enteros: 1, 2, 3, ..., dado que una tabla de datos solo puede tener una clave principal de incremento automático de campo, si desea lograr el incremento automático de otros campos, puede usar MySQL secuencia a lograr.
En este capítulo describiremos cómo usar secuencias MySQL.
Usar AUTO_INCREMENTO
La forma más fácil de usar secuencias en MySQL es usar MySQL AUTO_INCREMENT para definir columnas.
Ejemplo
La tabla de datos Insect se crea en el siguiente ejemplo, en el que no se especifica ningún valor para lograr el crecimiento automático.
mysql > CREATE TABLE昆虫 - > (- > id INT UNSIGNED NOT NULL AUTO_INCREMENT ,- > PRIMARY KEY (id ),- > name VARCHAR (30 )NOT NULL ,#昆虫类型- > 日期DATE NOT NULL ,#收集日期- > origin VARCHAR (30 )NOT NULL #where collected ); 查询OK ,0 行受影响(0.02 秒) mysql > INSERT INTO insects (id ,name ,date ,origin )VALUES - > (NULL ,'housefly' ,'2001-09-10' ,'kitchen' ),- > (NULL ,'millipede' ,'2001-09-10 ' ,'车道' ),- > (NULL ,'grasshopper' ,'2001-09-10' ,'front yard' ); 查询OK , 秒)记录:3 重复:0 警告:0 mysql > 选择* 从昆虫ORDER BY ID ; + ---- + ------------- + ------------ + ------------ + | id | 名字 | 日期 | 起源 | + ---- + ------------- + ------------ + ------------ + | 1 | 家蝇 | 2001 - 09 - 10 | 厨房 | | 2 | 千足虫 | 2001 - 09 - 10 | 车道 | | 3 | 蚱蜢| 2001 - 09 - 10 | 前院| + ---- + ------------- + ------------ + ------------ + 3 行中集(0.00 秒)
Obtener valor AUTO_INCREMENT
En el cliente MySQL, puede usar la función LAST_INSERT_ID() en SQL para obtener el valor de la última columna de incremento automático insertada en la tabla.
Las funciones correspondientes también se proporcionan en el script PHP o PERL para obtener el valor de la última columna de incremento automático insertada en la tabla.
instancia PERL
Utilice la propiedad mysql_insertid para obtener el valor de AUTO_INCREMENT.Los ejemplos son los siguientes:
$ dbh - > do (“INSERT INTO insect(name,date,origin) VALUES('moth','2001-09-14','windowsill')“ ); my $ seq = $ dbh - > { mysql_insertid };
ejemplo PHP
PHP obtiene el valor de la columna AUTO_INCREMENT en la instrucción insert SQL ejecutada a través de la función mysql_insert_id().
mysql_query (“INSERT INTO昆虫(名字,日期,起源) VALUES('moth','2001-09-14','windowsill')“ ,$ conn_id ); $ seq = mysql_insert_id ($ conn_id );
secuencia de reinicio
Si elimina varios registros en la tabla de datos y desea reorganizar la columna AUTO_INCREMENT de los datos restantes, puede hacerlo eliminando la columna de incremento automático y luego agregándola nuevamente.Sin embargo, esta operación tiene que ser muy cuidadosa, en todo caso.En el mismo momento de la eliminación, se agregan nuevos registros y puede haber confusión de datos. Las operaciones son las siguientes:
mysql > ALTER TABLE昆虫DROP ID ; mysql > ALTER TABLE昆虫 - > ADD ID INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST ,- > ADD PRIMARY KEY (id );
Establecer el valor de inicio de la secuencia
En general, el valor inicial de la secuencia es 1, pero si necesita especificar un valor inicial de 100, podemos hacerlo con la siguiente declaración:
mysql > CREATE TABLE昆虫 - > (- > id INT UNSIGNED NOT NULL AUTO_INCREMENT ,- > PRIMARY KEY (id ),- > name VARCHAR (30 )NOT NULL ,- > date DATE NOT NULL ,- > origin VARCHAR (30 )NOT NULL )engine = innodb auto_increment = 100 charset = utf8 ;
O también puede usar la siguiente declaración después de que la tabla se haya creado correctamente:
mysql > ALTER TABLE t AUTO_INCREMENT = 100 ;
Esperanza Chen Weiliang Blog ( https://www.chenweiliang.com/ ) compartió "¿Cómo crea MySQL una secuencia? Base de datos MySQL para crear una declaración de secuencia autoincremental", para ayudarlo.
Bienvenido a compartir el enlace de este artículo:https://www.chenweiliang.com/cwl-498.html
¡Bienvenido al canal de Telegram del blog de Chen Weiliang para obtener las últimas actualizaciones!
📚 Esta guía contiene un gran valor. 🌟Esta es una oportunidad única, ¡no la pierdas! ⏰⌛💨
¡Comparte y dale me gusta si te gusta!
¡Su compartir y Me gusta son nuestra motivación continua!