Jump to content
Fórum Script Brasil
  • 0

On Delete / On Update


Sepphiroth
 Share

Question

ola amigos da rede g.... oi gente...

bom, indo direto ao ponto, alguém saberia me explicar o uso do "ON delete / ON update" em PHP e Mysql?

eu sei que utiliza tabelas InnoDB pra manter os relacionamentos, mas como eu faria os acessos via PHP? Como posso relacionar uma tabela vazia? Como posso pegar o ID de um registro que acabei de gravar e esta em AUTO_INCREMENT?

enfim, se puderem explicar com exemplos... seria muito bom... agradeço desde já... ;)

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0
Veja se estes links ajudam:

http://dev.mysql.com/doc/refman/4.1/pt/ans...reign-keys.html

http://forum.imasters.com.br/index.php?showtopic=100466

Não entendi o que você quis dizer com "relacionar tabela vazia".

Quanto ao ID automático, use ALST_INSERT_ID(). ;)

Abraços,

Beraldo

é o seguinte, não sei se estou pensando da maneira errada, mas é assim:

tenho uma tabela "pessoa", nesta tabela tenho, entre outros campos, um "inventario" para relacionar com a tabela "inventario_tb", só que esta tabala inventario_tb inicialmente n tem nenhum registro pois cada campo dela mais tarde irá ter o ID dos registros de outra tabela...

Ai está uma duvida, não posso relacionar a tabela pessoa com a inventario_tb, sem que ela tenha algum registro?

Quanto aos links que você passou, estou dando uma olhada, amanha dou uma resposta aqui...

Edited by Sepphiroth
Link to comment
Share on other sites

  • 0

É possível criar o relcionamento entre as tabelas com a tabela filha vazia, já que as chaves estrangeiras são definidas no comando Create Table, quando ainda não há registros naa tabelaa. Porém, se não houver registros na tabela filha, não existe um relacionamentro entre dados.

Não sei se era bem isso que você queria saber.. talvez eu ainda não tenha entendido realmente o que ue você perguntou... :)

Abraços,

Beraldo

Link to comment
Share on other sites

  • 0
Guest --sepphiroth --
É possível criar o relcionamento entre as tabelas com a tabela filha vazia, já que as chaves estrangeiras são definidas no comando Create Table, quando ainda não há registros naa tabelaa. Porém, se não houver registros na tabela filha, não existe um relacionamentro entre dados.

Não sei se era bem isso que você queria saber.. talvez eu ainda não tenha entendido realmente o que ue você perguntou... :)

Abraços,

Beraldo

humm... entendi o que você disse. Poderia me dar um exemplo de como eu devo fazer para inserir e alterar os registros da tabela filha?

ou voce quis dizer que é possivel mas, não posso inserir posteriormente o relacionamento?

Link to comment
Share on other sites

  • 0

Para inserir um registro na tabela filha, basta usar um Insert comum, mas tomando um cuidado: o registro relacionado com a tabela pai deve receber um valor existente na tabela pai, senão não há relacionamento e será gerado um erro (1052 eu acho... não me lembro direito :P )

Você pode inserir um registro na tabela filha a qualquer momento. Não precisa, necessariamente, inserir no mesmo momneto um registro na tabela pai e, já em seguida, na tabela filha.

;)

Link to comment
Share on other sites

  • 0

hum...

então, caso tenha uma tabela:

TABELA_A

id_a (auto increment)

nome_a

idade_a

fk_a

e

TABELA_B

id_b (auto increment)

item_1 (campos relacionados a outras tabelas)

item_2 (campos relacionados a outras tabelas)

item_3 (campos relacionados a outras tabelas)

e eu quero relacionar o campo "fk_a" com a tabela B...

posso criar o registro da TABELA A normalmente e deixar o campo 'fk_a' em branco?

e depois dou um INSERT na TABELA B????

mas como vou ligar a tabela B, se o campo 'fk_a' estará vazio?

entende...

eu vou inserir nada na TABELA B em um primeiro momento, somente depois em outra ação... porem queria deixar elas "ligadas" para não precisar verificar se esta vazia ou fazer a ligação posteriormente...

não sei se você entendeu o que eu quis dizer, ou se eu que n entendi a explicação(provavel)...

pode me dar um exemplo com as tabelas acima?

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...