Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Update campo denominado from (https://www.clubdelphi.com/foros/showthread.php?t=83210)

aposi 22-05-2013 18:13:15

Update campo denominado from
 
Hola a todos,

estoy realizando una sincronizacion entre un ERP y prestashop.
Al intentar modificar ofertas me encuentro que el campo de fecha inicio de la oferta se denomina FROM con lo que al intentar el update
me lanza el siguiente error:

SQL Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from= '2013-05-22 17:32:00', to = '2013-05-22 17:32:00' where id_product = 3545' at line 1

la sentencia sql es la siguiente:
Código SQL [-]
UPDATE ps_specific_price set reduction = :descuento , from = :desde , to = :hasta

Alguna idea??

aposi 22-05-2013 18:34:08

Hola a todos, el problema con el update esta resuelto de la siguiente manera:

Código SQL [-]
UPDATE ps_specific_price as a set a.reduction = :descuento , a.from = :desde , a.to = :hasta

pero ahora tengo el problema con el insert, ja que no puedo hacer:

Código SQL [-]
INSERT INTO ps_specific_price as a (a.id_product,a.reduction,a.reduction_type,a.from,a.to)
VALUES
 (:id,:descuento,'amount',:desde,:hasta)

alguna idea??

Casimiro Noteví 22-05-2013 18:45:43

Prueba a ponerlo entre comillas.

aposi 22-05-2013 18:50:21

no funciona:

SQL Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''from',to) VALUES (3543,0,'amount','2013-05-22 18:23:15','2013-05-22 18:23:15')' at line 1

aposi 22-05-2013 19:33:40

Hoa de nuevo.
De momento lo he solucionado insertanto todos los campos menos el from y ejecutando un update.

Si alguiensabe una solución mejor...

Casimiro Noteví 22-05-2013 19:36:49

Cita:

Empezado por aposi (Mensaje 460990)
no funciona:

Pero ¿cómo lo has puesto?, pon el código que lo veamos.

aposi 22-05-2013 19:43:25

he provado el insert de la siguiente manera:

Código SQL [-]
INSERT INTO ps_specific_price (id_product,reduction,reduction_type,''from'',to)

Y no funciona

al final ejecuto el siguiente insert:

Código SQL [-]
INSERT INTO ps_specific_price (id_product,reduction_type)

y a continuacion un update:

Código SQL [-]
UPDATE ps_specific_price as a set a.reduction = :descuento , a.from = :desde , a.to = :hasta

Casimiro Noteví 22-05-2013 20:23:03

Creo recordar que en mysql puedes poner una comilla, no dos:
Código SQL [-]
INSERT INTO ps_specific_price (id_product,reduction,reduction_type,''from'',to)
INSERT INTO ps_specific_price (id_product,reduction,reduction_type,'from',to)

olbeup 23-05-2013 13:32:48

Cita:

Empezado por aposi (Mensaje 460999)
he provado el insert de la siguiente manera:

Código SQL [-]
INSERT INTO ps_specific_price (id_product,reduction,reduction_type,''from'',to)

Y no funciona

al final ejecuto el siguiente insert:

Código SQL [-]
INSERT INTO ps_specific_price (id_product,reduction_type)

y a continuacion un update:

Código SQL [-]
UPDATE ps_specific_price as a set a.reduction = :descuento , a.from = :desde , a.to = :hasta

Cuando un campo se llama igual que una sentencia de SQL, se pone entre corchetes
Código SQL [-]
UPDATE ps_specific_price
  SET
    [FROM] = :desde
    ,[TO] = :hasta

Espero que te funcione.

Un saludo.


La franja horaria es GMT +2. Ahora son las 19:13:51.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi