Pergunta

Quando estou tentando executar "inserir ignorar ..." no MySQL para adicionar apenas uma variável a uma tabela de várias opções, após a primeira inserção, ela se recusa a trabalhar. Diz "linhas inseridas: 0" e não insere meu novo valor no banco de dados. Acredito que isso ocorre porque já existe uma entrada com um valor "nada" e o MySQL não permite que o campo vazio seja duplicado. Parece ser um comportamento estranho (desde que as duas inserções não sejam exatamente as mesmas), por isso estou me perguntando se há uma maneira de evitar isso.

Obrigado por qualquer Hep!

Foi útil?

Solução

Os dois INSERT Não precisam ser exatamente iguais, eles precisam ser os mesmos para as colunas de chave primária.

INSERT IGNORE Ignorará uma inserção se já houver uma linha com a mesma chave primária. Se você fez INSERT ao invés de INSERT IGNORE, você estaria recebendo um erro (chave primária duplicada).

Se você quiser atualizar a linha existente, você pode usar REPLACE.

De qualquer maneira, pode haver apenas uma linha para cada chave primária.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top