PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → Reports & Queries → INSERT UPDATE ou REPLACE
INSERT UPDATE ou REPLACE
Iniciado por Nathan RENAULT, out., 11 2022 10:33 AM - 5 respostas
Membro registado
1 mensagem
Publicado em outubro, 11 2022 - 10:33 AM
Bonjour à tous,

Je cherche à réaliser une requête d'insertion des données et de mise à jour automatique si la clé existe. Mais suite à mes recherches impossible de trouver comment faire.

Voilà un en SQL de ce que je souhaite faire :
Pour information la rubrique Nom est en clé unique
-- Premier essai
INSERT INTO Paramètre (Nom,Valeur) VALUES ('toto','tata') ON DUPLICATE KEY UPDATE Valeur = 'tata';
-- Deuxième essai
REPLACE INTO Paramètre (Nom,Valeur) VALUES ('toto','tata')


Ma question est donc, Il y a t-il une syntaxe pour réaliser cet ajout / modification de données ou je dois passer par deux requêtes séparées ?

Merci par avance pour votre aide.
Membro registado
3 mensagems
Publicado em novembro, 01 2022 - 5:19 AM
Thanks for the step by step tutorial. Works like a charm! https://www.conduentconnect.org/
Membro registado
1 mensagem
Publicado em janeiro, 24 2023 - 10:13 AM
Il existe une syntaxe pour réaliser cet ajout / modification de données dans la plupart des bases de données SQL, appelée "INSERT INTO ... ON DUPLICATE KEY UPDATE". Cette syntaxe permet d'insérer des données dans une table si la clé spécifiée n'existe pas, ou de mettre à jour les données existantes si la clé existe déjà.
Membro registado
3 mensagems
Publicado em janeiro, 31 2023 - 12:43 PM
REPLACE works exactly like INSERT, except that if an old row in the table has the same value as a new row for a PRIMARY KEY or a UNIQUE index, the old row is deleted before the new row is inserted. https://www.myhealthonline.biz/
Membro registado
1 mensagem
Publicado em outubro, 21 2024 - 12:28 PM
A ce jour il n'y a toujours pas de solution implémentée par PC-SOFT pour pouvoir gérer un REPLACE ou un ON DUPLICATE KEY UPDATE dans les requêtes SQL.
Publicado em fevereiro, 07 2026 - 3:13 AM
0 a écrit :
> A ce jour il n'y a toujours pas de solution implémentée par PC-SOFT pour pouvoir gérer un REPLACE ou un ON DUPLICATE KEY UPDATE dans les requêtes SQL.

Oui, il existe une syntaxe dédiée, mais elle dépend du SGBD.
En MySQL/MariaDB, `INSERT ... ON DUPLICATE KEY UPDATE` est la bonne solution et évite deux requêtes.
`REPLACE INTO` fonctionne aussi mais fait un DELETE suivi d’un INSERT, ce qui peut poser problème.
En PostgreSQL et SQLite, on utilise `INSERT ... ON CONFLICT DO UPDATE`. https://dordle.io