Sou novo em bancos de dados e estou enfrentando um desafio. Estou conectando um sistema de pedidos a um banco de dados com um cliente e uma tabela de pedidos como a seguir:
Cliente. | Ordem. |
---|---|
id (chave primária) | order_id (chave primária) |
nome | quantia |
e-mail Chave estrangeira | |
telefone | system_order_id |
endereço | - |
Estou com a seguinte situação que não sei como resolver: recebo um pedido do nosso sistema de pedidos que contém as seguintes informações:
- system_order_id
- quantia
- telefone
- nome
Quero verificar se o cliente possui registro em nosso banco de dados. Caso contrário, adicione uma linha no banco de dados. Se sim, atualize a linha do cliente correspondente no email , não a chave primária, com informações extras (o número de telefone)
Como posso fazer isso facilmente? Como posso
REPLACE INTO
combinando com email, não com a chave primária e atualizando apenas as informações que estão faltando. ou seja, atualize o número de telefone, mas mantenha o endereço e o nome do registro.
Existe uma maneira melhor de fazer isso? Finalmente, existe uma maneira melhor de estruturar meu banco de dados?