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

Buscar para actualizar o añadir - php mysql

Estas en el tema de Buscar para actualizar o añadir - php mysql en el foro de Mysql en Foros del Web. Hola, Tengo una tabla llamada (a modo de ejemplo) mitabla, que contiene 4 campos, que pueden ser campo1, campo2, campo3, y campo4. Pues bien, quiero ...
  #1 (permalink)  
Antiguo 07/09/2011, 04:49
 
Fecha de Ingreso: septiembre-2011
Mensajes: 6
Antigüedad: 12 años, 7 meses
Puntos: 0
Pregunta Buscar para actualizar o añadir - php mysql

Hola,

Tengo una tabla llamada (a modo de ejemplo) mitabla, que contiene 4 campos, que pueden ser campo1, campo2, campo3, y campo4.

Pues bien, quiero que antes de añadir un nueva fila con datos, se cumpruebe antes si existe ya esa fila en la tabla.

Pero solo compruebe coincidencias con los campo1 y campo2, si existe, que no añada una nueva fila.

Lo explico de otro modo:

Si el dato hola/mundo (hola pertenece al campo1 y mundo al campo2) se encuentra en una de las filas, no grabar una nueva fila, y si existe, actualizar el resto de campos.

Espero haberme explicado, soy algo nuevo en esto de las base de datos.

Lo estoy haciendo con php.

Un saludo y de verdad, muchas gracias :)
  #2 (permalink)  
Antiguo 07/09/2011, 06:38
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Buscar para actualizar o añadir - php mysql

13.2.4. Sintaxis de INSERT

Analiza y entiende la parte opcional referiada a

[ ON DUPLICATE KEY UPDATE col_name=expr, ... ]

previamente debes tener definida una clave principal compuesta por los dos campos, no se si un indice único (tambien compuesto por los dos campos serviria).

Esto hace exáctamente lo que pides.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 15/09/2011, 04:01
 
Fecha de Ingreso: septiembre-2011
Mensajes: 6
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Buscar para actualizar o añadir - php mysql

Hola de nuevo. He estado de vacaciones y no he tenido tiempo de responder. Ahora que vuelvo a hacer mis cositas con mysql y php .. me surgen algunos "Impedimentos" que seguro tienen solución...

Para este caso que expongo arriba ya lo tengo solucionado.

Pero ahora tengo una duda, que quizas sea facil (o no) que es la siguiente:

Imaginemos ....

Tengo como 50 tablas (pero modo de ejemplo solo usaremos 3, pero son 50 o mas)

Cada tabla es idéntica en campos a las demás, lo único que cambia es el nombre de la tabla, que es algo así como "ID_XXXX" (donde XXXX es un numero de 4 cifras).

Uno de los campos que tiene todas esas tablas, es el date (Que es un timestamp de mysql, que se actualiza cada vez que se actualiza algún campo)

Pues bien, al kit de la cuestión:

Quiero que aparezcan los últimos, por ejemplo 20 entradas que se han agregado/modificado recientemente a partir de 'date' en todas las tablas ¿Como se puede hacer algo así?

De antemano muchas gracias :)

Última edición por Zer07; 15/09/2011 a las 10:50 Razón: Edito para hacer un tema nuevo, ya que un tema algo distinto.
  #4 (permalink)  
Antiguo 19/09/2011, 01:33
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Buscar para actualizar o añadir - php mysql

Primero de todo si haces preguntas nuevas habre un nuevo post... puesto que el primero al ser antiguo quizas no lo mire nadie.

Segundo 50 o mas tablas con la misma estructura es un diseño, digamos que raro.... una sola tabla con un campo mas donde guardes ese ID_XXXX igual serviria para lo mismo....

Ahora la respuesta

SELECT * FROM ID_XXXX ORDER BY date DESC LIMIT 20;

"Date" como nombre de campo te podria dar algun problema puesto que se puede confundir con la fun cion DATE() de muchos lenguajes....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 20/09/2011 a las 00:44

Etiquetas: campos, php, tabla
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 08:36.