MySQL - Actualizar cadena en campo

   
Vista:
Imágen de perfil de MANUEL

Actualizar cadena en campo

Publicado por MANUEL (4 intervenciones) el 09/12/2015 22:11:23
Primero hola a tod@s y gracias por vuestra atención.

Tengo una duda sencilla, pero complicada para mi ya que hacia años que habia "colgado los guantes" y ahora he vuelto a programar y ando algo despistado ... pero con ganas :)

En un entorno phpMyAdmin, con db MARIADB (MySQLi) debo actualizar el campo de una tabla, añadiendo una cadena de texto igual a todos los registros. He probado con REPLACE, UPDATE, etc pero siempre me da error,, al desconocer la sintaxis correcta.

DB : miDB
Tabla : miTabla
Campo: campo1

Debo actualizar todos los registros a : cadena fija + valor actual del campo.

Ejemplo, campo con valor actual "2333", debe actualizarse a "Producto/2333".
Lo de "Producto/" es una cadena igual para todos los registros.

Gracias y perdonad por preguntar cosas tan básicas, pero es que me urge y en la web no encontraba una solución que funcionase.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Actualizar cadena en campo

Publicado por xve (899 intervenciones) el 10/12/2015 08:30:50
Hola Manuel, creo que seria algo así:

1
UPDATE Tabla SET campo=CONCAT("Producto/",campo)

Con CONCAT, concatena el texto con el valor del campo.

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de MANUEL

Actualizar cadena en campo

Publicado por MANUEL (4 intervenciones) el 10/12/2015 08:38:06
OK, muchas gracias. Lo pruebo y ya os digo.

Gracias de nuevo :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de MANUEL

Actualizar cadena en campo

Publicado por MANUEL (4 intervenciones) el 10/12/2015 09:19:38
Ha funcionado OK , oooeeeehh oooeeeehh oooeeeehh gracias ¡¡¡

Sin querer abusar, ¿cómo puedo eliminar de todos los campos los 4 primeros caracteres? Una función TRIM o algo similar.

Sería eliminar los x primeros caracteres por la izquierda en todos los campos de esa tabla.

Ej. valor del campo actual : producto122 > valor nuevo = 122

Gracias. Con esto acaban mis dudas, salgo del paso y , cuando tenga tiempo, ya me estudio a fondo el tema para no hacer preguntas tan básicas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Actualizar cadena en campo

Publicado por Rafael (57 intervenciones) el 10/12/2015 14:22:36
Hola

Como siempre es bueno tener referencia de funciones:
https://mariadb.com/kb/en/mariadb/functions-and-operators/

En este caso lo que te compete funciones de cadena:
https://mariadb.com/kb/en/mariadb/string-functions/

Y para mas INRI la de substring:
https://mariadb.com/kb/en/mariadb/substring/

Con los siguientes ejemplos:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
SELECT SUBSTRING('Knowledgebase',5);
+------------------------------+
| SUBSTRING('Knowledgebase',5) |
+------------------------------+
| ledgebase                    |
+------------------------------+
 
SELECT SUBSTRING('MariaDB' FROM 6);
+-----------------------------+
| SUBSTRING('MariaDB' FROM 6) |
+-----------------------------+
| DB                          |
+-----------------------------+
 
SELECT SUBSTRING('Knowledgebase',3,7);
+--------------------------------+
| SUBSTRING('Knowledgebase',3,7) |
+--------------------------------+
| owledge                        |
+--------------------------------+
 
SELECT SUBSTRING('Knowledgebase', -4);
+--------------------------------+
| SUBSTRING('Knowledgebase', -4) |
+--------------------------------+
| base                           |
+--------------------------------+
 
SELECT SUBSTRING('Knowledgebase', -8, 4);
+-----------------------------------+
| SUBSTRING('Knowledgebase', -8, 4) |
+-----------------------------------+
| edge                              |
+-----------------------------------+
 
SELECT SUBSTRING('Knowledgebase' FROM -8 FOR 4);
+------------------------------------------+
| SUBSTRING('Knowledgebase' FROM -8 FOR 4) |
+------------------------------------------+
| edge                                     |
+------------------------------------------+

Saludos

Pd. Si a ti te sirve esta info a mi me sirve un +1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
3
Comentar
Imágen de perfil de MANUEL

Actualizar cadena en campo

Publicado por MANUEL (4 intervenciones) el 10/12/2015 19:41:26
Gracias, funcionó OK. :)

Y no sabia lo del +1 ... jajajajja
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar