"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como a inserção do MySQL ... na Update Duplicate Key Atualize operações UpSert?

Como a inserção do MySQL ... na Update Duplicate Key Atualize operações UpSert?

Postado em 2025-02-26
Navegar:248

How Does MySQL's INSERT ... ON DUPLICATE KEY UPDATE Handle Upsert Operations?

operação eficiente para MySQL: usando inserção ... na Key Update

]

No MySQL Database Management, geralmente é necessário executar operações, como inserir novas linhas ou atualizar linhas existentes com base nos dados existentes. Isso é chamado de operação "UpSert" (inserir ou atualizar).

MySQL fornece a sintaxe inserir ... na update de chave duplicada para implementar com eficiência a função upSert. Seu princípio de trabalho é o seguinte:

INSERT INTO `table_name`
(`column1`, `column2`, ...)
VALUES
(value1, value2, ...)
ON DUPLICATE KEY UPDATE
`column1` = value1_updated,
`column2` = value2_updated,
...
A cláusula

inserir especifica o valor a ser inserido na tabela. na cláusula Duplicate Key Atualize define a ação a ser executada quando houver uma linha com a mesma chave primária (ou índice exclusivo) na tabela.

Por exemplo, considere a tabela a seguir:

CREATE TABLE `usage` (
    `thing_id` INT NOT NULL PRIMARY KEY,
    `times_used` INT DEFAULT 0,
    `first_time_used` TIMESTAMP
);

se você deseja inserir novos dados para a linha com thing_id de 4815162342, adicione 1 à coluna times_used e set FIRNTE_TIMUSE_USUSED para o timestamp atual, Você pode usar a seguinte consulta UPSert:

INSERT INTO `usage`
(`thing_id`, `times_used`, `first_time_used`)
VALUES
(4815162342, 1, NOW())
ON DUPLICATE KEY UPDATE
`times_used` = `times_used`   1

se a linha com thing_id de 4815162342 já existe, a consulta atualizará a coluna times_used , enquanto FIRNTE_TIME_USE_USED permanece inalterado. Caso contrário, uma nova linha será inserida.

inserir ... ON ON Duplicate Key Update é uma tecnologia flexível e eficiente para executar operações de upsert em MySQL. Ele permite que você execute operações de inserção e atualização com uma única consulta, simplificando o código e melhorando o desempenho.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3