Cómo insertar un valor o actualizarlo desde el mismo script de SQLHoy os voy a dejar un scrip de SQL muy útil para actualizar un valor o registro en el caso de que exista, o para insertarlo en el caso de que noEl script sería de la siguiente manera:

UPDATE Table1 SET (...) WHERE Column1='SomeValue'IF @@ROWCOUNT=0    INSERT INTO Table1 VALUES (...)

Os voy a explicar un poco como funcionaLa primera fila, lo que hace es la sentencia del de update si existieraLa segunda fila verifica si la sentencia del update ha funcionado, que quiere decir que si  existía la fila la habría actualizadosi no es el caso, no devolverá ninguna fila, por lo que verificamos si el número de filas devueltas es 0 (zero)finalmente la última fila sería la que haría el insert del valorOs voy a poner un ejemplo práctico

UPDATE MARCAS SET DESCMARCA='ADIDAS' WHERE CODMARCA=1IF @@ROWCOUNT=0 INSERT INTO MARCAS (CODMARCA, DESCMARCA) VALUES (1,'ADIDAS')

Actualizo el nombre de la marca si existieraen mi caso, la primera vez como no existe lo que hace es insertarla ¿Y en MySQL, cómo lo haríamos?La estructura cambiaría un poco

INSERT INTO table (id, name, age) VALUES(1, "A", 19) ON DUPLICATE KEY UPDATE name="A", age=19

En mySql comenzamos con el insert y en la segunda línea verificamos si la «Key» está duplicadaen cuyo caso lo que hacemos es un updateOs voy a poner un ejemplo de la sentencia en una tabla de Prestashop

insert into ps_manufacturer (id_manufacturer, name) VALUES (1,"ADIDAS") ON DUPLICATE KEY UPDATE name="ADIDAS"

Обращаясь к нам за деньгами, вы легко и быстро сможете получить займ на карту мгновенно круглосуточно на любые нужды в день обращения. Мы так же поможем взять мгновенно онлайн кредит на карту в банке без отказа через интернет круглосуточно.