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

UPDATE WHERE nº registro

Estas en el tema de UPDATE WHERE nº registro en el foro de Mysql en Foros del Web. Hola, Cuando yo cargo una seride de datos, p.e. 100 registros: Puedo saber yo el nº de cada registro ? Puedo actualizar con Update... indicandole ...
  #1 (permalink)  
Antiguo 05/05/2010, 04:16
 
Fecha de Ingreso: marzo-2010
Mensajes: 63
Antigüedad: 14 años, 8 meses
Puntos: 0
UPDATE WHERE nº registro

Hola,

Cuando yo cargo una seride de datos, p.e. 100 registros:

Puedo saber yo el nº de cada registro ?

Puedo actualizar con Update... indicandole directamente el nº de registro ? (es para no tener de especificar todo el conjunto de claves en el where)

Gracias
Saludos.

Savi.
  #2 (permalink)  
Antiguo 05/05/2010, 05:28
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: UPDATE WHERE nº registro

Sugiero vayas a la página de Maestros del Web : Introducción a SQL, para empaparte u poco del tema, ya que la pregunta es demasiado básica, y conviene que primero te interiorices de qué es, cómo se usa y qué se puede hacer con el SQL antes de avanzar.
Luego podremos resolver mejor tus dudas.

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 06/05/2010, 06:47
 
Fecha de Ingreso: marzo-2010
Mensajes: 63
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: UPDATE WHERE nº registro

Gnzsoloyo,

Ya me he leido el manual y espero no hacer preguntas tan 'basicas' . Pienso q sobraba esta respuesta y por cierto, no la veo tan basica.

saludos
Savi.
  #4 (permalink)  
Antiguo 06/05/2010, 06:57
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: UPDATE WHERE nº registro

Mira, es basica, porque la respuesta esque si quieres modificar un sólo registro, y tienes su PK, es:
Código MySQL:
Ver original
  1. UPDATE tabla
  2. SET campo = valoraponer
  3. WHERE id_reg = idabuscar;
donde "id_reg" es el nombre del campo usado como PK, "campo" el nombre de la columna a modificar, "valoraponer" el nuevo valor, e idabuscar el valor de PK que estás buscando...
Si te fijas en los tutoriales, es un ejemplo sacado de manual. Por eso decía que era muy básico.

Lo que tienes que comprender es que el el SELECT, UPDATE o DELETE el WHERE se usa siempre para lo mismo y de la misma forma: establece un filtro para identificar qué registros quedarán afectados por la sentencia dada. En ese sentido, usar un sólo ID o una lista de ID obtenidos de alguna forma, es más o menos lo mismo:
Código MySQL:
Ver original
  1. UPDATE tabla
  2. SET campo = valoraponer
  3. WHERE id_reg IN (1, 2, 3, 4, 5);

o bien un rango devalores:
Código MySQL:
Ver original
  1. UPDATE tabla
  2. SET campo = valoraponer
  3. WHERE id_reg BETWEEN 1 AND 5;

o que cumplan un acondición:
Código MySQL:
Ver original
  1. UPDATE tabla
  2. SET campo = valoraponer
  3. WHERE fecha_dato <= '2010-04-30';

En cualquier caso lo que tienes que entender es el funcionamiento del WHERE, y ajustarte a la sintaxis indicada en los manuales, que es de donde todos despejamos dudas (no creas que uno memoriza completamente todas cláusulas y modificadores, casi todo lo vas recordando por experiencia). Eso según un sabio consejo de mis profesores de Bases de Datos.

Saludos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 07/05/2010, 00:10
 
Fecha de Ingreso: marzo-2010
Mensajes: 63
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: UPDATE WHERE nº registro

gnzsoloyo,

Gracias por la respuesta. Quizas no me he preguntado bien o no se me ha entendido . En todo caso, dejando al lado tus ejemplos sacados del manual, y que te aseguro que ya habia visto, la pregunta esta en si mysql tiene la capacidad de devolver la pseudocoluna rowid (identificador unico de columna). Yo se q hay sistemas q lo soportan, y no estaba seguro de si mysql lo soportaba y con que palabra clave. No se trataba de crear una PK sino de aprovechar si mysql tenia esta funcionalidad.

No quiero entrar en polemicas, y se q tu eres uno de los masters, simplemente si no se entendia bien la pregunta, se hubiera podido responder de otra manera. Y quiero que sepas tambien una cosa, y es q agradezco mucho, muchisimo tus respuestas y las de otros componentes de este foro, y lo digo sinceramente.

Espero que haya sido un malentendido y si lo ha sido por mi parte, te pido disculpas. ok ?
  #6 (permalink)  
Antiguo 07/05/2010, 05:13
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: UPDATE WHERE nº registro

No problem. Es que la redacción del post parecía sugerir algo de vagancia por parte de un beginner.
Lo siento, fue un prejuicio mío...
Volviendo al tema, infortunadamente no existe ni propiedad, valor u objeto ROWID dentro de MySQL. Sería tal vez una buena idea que ahora que ha sido adquirida por Oracle, este permitiese implementarlo sobre la base de sus propios aportes. Francamente dudo que lo hagan, por lo que es una cuenta pendiente del proyecto.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 07/05/2010, 05:35
 
Fecha de Ingreso: marzo-2010
Mensajes: 63
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: UPDATE WHERE nº registro

gnzsoloyo

Gracias por el tip ->

Saludos.
Savi

Etiquetas: registro, 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 22:21.