Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

djeco

Repetiçao de PK depois que ela é apagada

Recommended Posts

E ai..

 

O campo id é PK auto_increment

 

Digamos que ontem cadastrei um usuario e o id dele ficou 100, depois dele cadastrei mais alguns usuários.

 

Hoje eu apago o usuário 100, então a sequencia de ids ficou 98, 99, 101, 102.

 

Se amanhã eu for cadastrar um novo usuário, tem possibilidade de o id dele ser 100?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por padrão: NAO, se você deletou o '100' ele já era , nunca mais você vai ver ele de novo, a não ser que edite especificamente alguma linha pra q ela passe a ser o 100

 

 

porem é possivel dar

 

 

alter table tabela auto_increment=100

 

 

entao o auto increment volta pra 100 e no proximo insert ele vai tentar enfiar o 100, se nao der ele coloca o mais proximo q esteja livre (101,102,103... isso claro se seu auto increment estiver em 1)

 

 

Pra pegar um ultimo valor de auto_increment

 

SELECT max(last_insert_id( campo_do_auto_increment ))

FROM tabela

Compartilhar este post


Link para o post
Compartilhar em outros sites

hmm..

 

eu faço o seguinte..

 

tenho uma tabela de carros.. onde cadastro as informaçoes do carro, e tenho uma tabela de fotos dos carros, onde eu cadastro o caminho da foto relacionada com o id do carro.

 

entao faço o insert do carro

 

insert into carros (modelo, cor, preço) values ($modelo, $cor, '$preco');

 

e logo depois adiciono suas fotos, e pra pegar o id do carro que eu acabei de inserir uso o mysql_insert_id

 

$id_carro = mysql_insert_id();

 

e entao o insert da foto

 

insert into fotos (id_carro, foto) values ($id_carro, '$foto');

 

mas alguns ids dos carros estao repetindo...

será q eh por eu usar o mysql_insert_id ao invés do last_insert_id?

Compartilhar este post


Link para o post
Compartilhar em outros sites

mysql_insert_id() é uma função do PHP. LAST_INSERT_ID() é do MySQL. Ambas têm a mesma funcionalidade.

 

As repetições a que você se refere ocorrem na tabela de fotos? Se sim, isso é perfeitamente normal, uma vez que pode haver mais de uma foto para cada carro. Para ter IDs para cada foto, você pode fazer assim para a tabela de imagens:

 

id

id_carro

foto

 

O campo "id" seria PK auto_increment. O id_foto poderia se repetir, a fim de viabilizar a inserção de diversas fotos para um único carro (id_carro iguais).

 

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.