Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Consulta delete o update

Estas en el tema de Consulta delete o update en el foro de Mysql en Foros del Web. Hola a todos, mi pregunta es la siguente.Tengo una columna en la que quiero borrar un dato concreto de cada fila pero que permenezca el ...
  #1 (permalink)  
Antiguo 09/11/2010, 17:33
Avatar de Pike  
Fecha de Ingreso: agosto-2008
Ubicación: Por ahí
Mensajes: 251
Antigüedad: 15 años, 8 meses
Puntos: 1
Consulta delete o update

Hola a todos, mi pregunta es la siguente.Tengo una columna en la que quiero borrar un dato concreto de cada fila pero que permenezca el resto. No quiero borrar toda la información que aparece en la columna, solamente un dato que se repite en todas las filas y para el que he hecho una columna a parte en la tabla. Espero haberme explicado bieN.
La columna se llama Comunidades y en cada fila aparecen dos datos pertenecientes a esa columna y quiero eliminar solamente uno de ellos.


Un saludo
  #2 (permalink)  
Antiguo 09/11/2010, 18:35
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Consulta delete o update

bueno seria bueno que supieras cual es la diferencia entre lo que estas proponiendo delete o update y tu mismo te daras la respuesta aca una cita
delete
Cita:
DELETE borra los registros de tbl_name que satisfacen la condición dada por where_definition, y retorna el número de registros borrados.
update
Cita:
El comando UPDATE actualiza columnas en registros de tabla existentes con nuevos valores.
si no quieres borrar el registro sino solo limpiar un campo cual debes usar??? espero te aclare la duda
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 09/11/2010, 18:54
Avatar de Pike  
Fecha de Ingreso: agosto-2008
Ubicación: Por ahí
Mensajes: 251
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Consulta delete o update

Quiero borrar una parte de los datos almacenados , pero q¡realmente es actualizar.

Es como si tuviese una columna de paises;
España +
francia +
Portugal +

y lo que quiero borrar solamente es el +

estoy probando con

UPDATE tabla SET columna=" " WHERE columna LIKE "% la palabra que quiero borrar%";

esta sentencia me borra el contenido entero

Última edición por Pike; 09/11/2010 a las 19:09
  #4 (permalink)  
Antiguo 09/11/2010, 19:11
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Consulta delete o update

mm interesante te deberia de borrar solo el registro con la palabra que estas colocando puedes dar un poco mas de especificacion creas un registro x cada pais o en un registro estan todos??
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #5 (permalink)  
Antiguo 09/11/2010, 19:16
Avatar de Pike  
Fecha de Ingreso: agosto-2008
Ubicación: Por ahí
Mensajes: 251
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Consulta delete o update

En realidad el cod es este:

UPDATE becas SET subject=" " WHERE subject LIKE "% master%";

la columna subject tiene una filas que contienen por ej:

master-humanities

master-Technology

master- Social Sciences

y yo solo me quiero cargar master de todas las filas

Última edición por Pike; 09/11/2010 a las 19:27
  #6 (permalink)  
Antiguo 09/11/2010, 19:50
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Consulta delete o update

pues xq si es una palabra sola no lo haces agregandolo directamente el texto xq lo que estas indicando va a actualizar todo el campo que estas diciendo con " " si quieres que te actualice a una palabra constante coloca la palabra constante saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #7 (permalink)  
Antiguo 10/11/2010, 01:44
Avatar de Pike  
Fecha de Ingreso: agosto-2008
Ubicación: Por ahí
Mensajes: 251
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Consulta delete o update

Ya, porque así tengo que editar una por una cada fila, y yo lo que quiero cargarme es
master -de cada fila de una sola vez.

Un saludo
  #8 (permalink)  
Antiguo 10/11/2010, 03:50
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Consulta delete o update

Hay una forma simple de resolverl eso. En realidad no estarías borrando texto sino reemplazándolo por una cadena vacía, por lo que esto debería funcionar:
Código MySQL:
Ver original
  1. UPDATE becas
  2. SET subject= REPLACE(subject, 'texto a reemplazad, '')
  3. 'WHERE subject LIKE "% master%";

Por cierto, las comillas (") cumplen la misma función que los acentos inversos (`): encerrar los nombres de los campos, tablas etc; por lo que puede darte un error de sintaxis.
Las cadenas de texto van entre apóstrofos(').
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 10/11/2010, 04:37
Avatar de Pike  
Fecha de Ingreso: agosto-2008
Ubicación: Por ahí
Mensajes: 251
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Consulta delete o update

Hola Gnzsloyo, ¿no sobra alguna ' simple? esty usando

UPDATE becas SET subject= REPLACE(subject, ' ' ) WHERE subject LIKE "%master%";

y me da error.


Mucaha sgracias por tu ayuda
  #10 (permalink)  
Antiguo 10/11/2010, 05:17
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Consulta delete o update

No, te falta....
Como te dije, las comillas (que son siempre 2: ") se usan para encerrar nombres de campos, tablas, bases, funciones programadas, stored procedures, etc. No se usan para cadenas de caracteres (salvo reconfiguraciones especííficas del modo SQL del servidor).
Para las cadenas de textos (caractreres debe usarse apóstrofos ('), los que no se deben confundir con los acentos inversos (`) que se usan para lo mismo que las comillas.
Estas distinciones se vuelven perfectamente visibles cuando usas una interfase que sensible a la sintaxis de los códigos, como es el caso de MySQL Query Browser o M;ysql Workbench, porque destacan eso con otro color.

Además, estás poniendo incompleta la función REPLACE, la que tiene tres parámetros (ver funciones de cadena en el manual de referencia):
Cita:
REPLACE(str,from_str,to_str)

Retorna la cadena str con todas las ocurrencias de la cadena from_str reemplazadas con la cadena to_str.

Código MySQL:
Ver original
  1. mysql> SELECT REPLACE('www.mysql.com', 'w', 'Ww');
  2.         -> 'WwWwWw.mysql.com'

Esta función trabaja con múltiples bytes.
o sea:
Código MySQL:
Ver original
  1. UPDATE becas
  2. SET subject= REPLACE(subject, 'master',  ' ' )
  3. WHERE subject LIKE '%master%';
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #11 (permalink)  
Antiguo 10/11/2010, 05:39
Avatar de Pike  
Fecha de Ingreso: agosto-2008
Ubicación: Por ahí
Mensajes: 251
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Consulta delete o update

Muchas gracias por tu ayuda Gnzsoloyo. Me ha quedado claro, y no es la primera vez que me ayudas .


uN SALUDO

Etiquetas: delete, update
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:51.