phpMyAdmin remove a chave primária da tabela MySQL

0

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?

    
por void 06.05.2013 / 18:22

1 resposta

1

Acho que isso se resume a uma cópia da tabela que você fez.

Só posso pensar que você tenha feito algo assim no passado:

CREATE TABLE [new_table] SELECT * FROM [old_table]

Parece que, embora preserve os nomes e dados das colunas, não preserva a estrutura e as chaves.

Como eu sei? - Acabei de descobrir da maneira mais difícil.

    
por 29.05.2014 / 03:53