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.