Meu problema é este:
Eu crio uma tabela no phpMyAdmin do WAMP Server,
Eu sempre faço a primeira coluna como
name: id
type: int
index: primary
auto_increment: true
depois, adiciono outras colunas, na maior parte das vezes, int ou varchar . E às vezes timestamp com DEFAULT = CURRENT_TIMESTAMP . Eu salvo a mesa sem problemas.
Então, quando eu estou começando a usar esta tabela em meus scripts php, eu adiciono um valor sem declarar um valor para id, já que é auto_increment , então é assim:
$pdo->query("INSERT INTO mytable(harmless_int, harmless_varchar) VALUES ('42','marvin');");
e quando vou verificar minha tabela no phpMyAdmin, vejo que o valor para id é 0.
Além disso, clico em "Estrutura" e, em seguida, em "Alterar" para a coluna id , e vejo que ela não tem mais a propriedade auto_increment . Então, eu DROP da tabela, criei exatamente da mesma maneira novamente, então funciona.
Isso me aconteceu muito, eu sempre tenho que criar a mesma mesa duas vezes. Então, o que estou fazendo errado?