Latest web development tutorials

secuencia de uso de MySQL

MySQL es una secuencia de números enteros: 1, 2, 3, ..., como una tabla de datos puede tener claves principales de incremento sólo un campo, si se desea implementar campos adicionales se incrementan de forma automática, puede utilizar secuencias de MySQL para lograr.

En este capítulo se describirá cómo utilizar secuencias de MySQL.


uso AUTO_INCREMENT

MySQL método más simple es utilizar una secuencia para definir el uso de la columna de MySQL AUTO_INCREMENT.

Ejemplos

En el siguiente ejemplo se crea una tabla de datos de insectos, insectos sin especificar el valor de ID puede aumentar de forma automática.

mysql> CREATE TABLE insect
    -> (
    -> id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    -> PRIMARY KEY (id),
    -> name VARCHAR(30) NOT NULL, # type of insect
    -> date DATE NOT NULL, # date collected
    -> origin VARCHAR(30) NOT NULL # where collected
);
Query OK, 0 rows affected (0.02 sec)
mysql> INSERT INTO insect (id,name,date,origin) VALUES
    -> (NULL,'housefly','2001-09-10','kitchen'),
    -> (NULL,'millipede','2001-09-10','driveway'),
    -> (NULL,'grasshopper','2001-09-10','front yard');
Query OK, 3 rows affected (0.02 sec)
Records: 3  Duplicates: 0  Warnings: 0
mysql> SELECT * FROM insect ORDER BY id;
+----+-------------+------------+------------+
| id | name        | date       | origin     |
+----+-------------+------------+------------+
|  1 | housefly    | 2001-09-10 | kitchen    |
|  2 | millipede   | 2001-09-10 | driveway   |
|  3 | grasshopper | 2001-09-10 | front yard |
+----+-------------+------------+------------+
3 rows in set (0.00 sec)

Obtener valor AUTO_INCREMENT

En MySQL cliente puede utilizar la función SQL LAST_INSERT_ID () para recuperar el último valor insertado en incremento automático de la tabla.

En PHP o Perl también proporciona una función correspondiente para obtener el valor de la última mesa de incremento automático del insertada.

ejemplos PERL

Utilice la propiedad mysql_insertid para obtener el valor de AUTO_INCREMENT. Ejemplos son los siguientes:

$dbh->do ("INSERT INTO insect (name,date,origin)
VALUES('moth','2001-09-14','windowsill')");
my $seq = $dbh->{mysql_insertid};

Ejemplos de PHP

PHP para obtener el valor en la columna AUTO_INCREMENT la instrucción SQL ejecutada por la función mysql_insert_id ().

mysql_query ("INSERT INTO insect (name,date,origin)
VALUES('moth','2001-09-14','windowsill')", $conn_id);
$seq = mysql_insert_id ($conn_id);

secuencia de restablecimiento

Si elimina los datos en la tabla de múltiples registros, y esperar que el resto de las columnas AUTO_INCREMENT para reorganizar los datos, entonces se puede eliminar columnas de crecer, a continuación, volver a añadirlo a lograr. Sin embargo, la operación que tener mucho cuidado si usted tiene se agrega un nuevo registro a la vez eliminado, no puede ser un caos de datos. El funcionamiento es como sigue:

mysql> ALTER TABLE insect DROP id;
mysql> ALTER TABLE insect
    -> ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST,
    -> ADD PRIMARY KEY (id);

Establecer el valor inicial de la secuencia de

En circunstancias normales valor de secuencia inicial de 1, pero si es necesario especificar un valor inicial de 100, entonces podemos alcanzar la siguiente declaración:

mysql> CREATE TABLE insect
    -> (
    -> id INT UNSIGNED NOT NULL AUTO_INCREMENT = 100,
    -> PRIMARY KEY (id),
    -> name VARCHAR(30) NOT NULL, # type of insect
    -> date DATE NOT NULL, # date collected
    -> origin VARCHAR(30) NOT NULL # where collected
);

O bien, puede crear una tabla en el éxito alcanzado por la siguiente declaración:

mysql> ALTER TABLE t AUTO_INCREMENT = 100;