Du kan direkt UPDATE
om värdet redan finns eller INSERT
om det inte finns genom att använda INSERT...ON DUPLICATE KEY UPDATE
Men först måste du ange en unik kolumn,
ALTER TABLE user_account ADD CONSTRAINT tb_uq UNIQUE (id_user)
om kolumnen ID_USER
är redan en primärnyckel, hoppa över den första metoden. Efter att det har implementerats kan du nu använda följande syntax
INSERT INTO user_account (id_user, bio)
VALUES($id, '$bio')
ON DUPLICATE KEY UPDATE bio = '$bio';
Som en sidanot är frågan sårbar med SQL Injection
om värdet (s ) av variablerna kom utifrån. Ta en titt på artikeln nedan för att lära dig hur du förhindrar det. Genom att använda PreparedStatements
du kan bli av med att använda enstaka citattecken runt värden.