Vous pouvez directement UPDATE
si la valeur existe déjà ou INSERT
s'il n'existe pas en utilisant INSERT...ON DUPLICATE KEY UPDATE
Mais vous devez d'abord spécifier une colonne unique,
ALTER TABLE user_account ADD CONSTRAINT tb_uq UNIQUE (id_user)
si colonne ID_USER
est déjà une clé primaire, ignorez la première méthode. Après son implémentation, vous pouvez maintenant utiliser la syntaxe suivante
INSERT INTO user_account (id_user, bio)
VALUES($id, '$bio')
ON DUPLICATE KEY UPDATE bio = '$bio';
En passant, la requête est vulnérable avec SQL Injection
si la valeur(s ) des variables provenaient de l'extérieur. Veuillez consulter l'article ci-dessous pour savoir comment l'éviter. En utilisant PreparedStatements
vous pouvez vous débarrasser de l'utilisation de guillemets simples autour des valeurs.