> Faqs > Cómo hacer un identificador autonumérico en SQLite

Cómo hacer un identificador autonumérico en SQLite

¿Cómo puedo hacer una tabla que tenga un campo id autonumérico en SQLite?

¿Cómo puedo luego insertar registros con el identificador autonumérico?

Respuestas

Para crear el índice autonumérico en SQLite, al crear la tabla, simplemente tienes que definir el campo como INTEGER PRIMARY KEY.

Aquí tienes un create table de ejemplo:

CREATE TABLE IF NOT EXISTS users (
    id INTEGER PRIMARY KEY, 
    nombre STRING, 
    email STRING
)

Luego puedes insertar el valor simplemente colocando un "null" en la columna id.

INSERT INTO users (id, nombre, email) VALUES (null, 'Pepe', 'pepe@example.com')

Para probar este código SQL del create table y el insert con el id autonumérico he creado el siguiente código PHP, por si te resulta de utilidad:

<?php
$conexion = new SQLite3('db1.db');
$ssql = '
  CREATE TABLE IF NOT EXISTS users (
    id INTEGER PRIMARY KEY, 
    nombre STRING, 
    email STRING
  )';
$conexion->exec($ssql);

$ssql = "INSERT INTO users (id, nombre, email) values (null, 'Pepe', 'pepe@example.com')";
$conexion->exec($ssql);

$ssql = "SELECT * FROM users";
$result = $conexion->query($ssql);
while ($row = $result->fetchArray()) {
  echo "<p>";
  echo "id: {$row['id']} - ";
  echo "Nombre: {$row['nombre']} - ";
  echo "Email: {$row['email']}";
  echo "</p>";
}
$conexion->close();

Puedes comprobar que, cada vez que se accede a esta página se crea un nuevo registro en la tabla y se muestran todos los registros insertados, con lo que podemos ver que el id va creciendo a cada inserción.

Julian
1147 49 87 46
Muchas gracias Julián! muy amable.