Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Incrementar valor de campo

Estas en el tema de Incrementar valor de campo en el foro de PHP en Foros del Web. Hola. Inserto los valores de tabla2 en tabla1, pero en tabla1 hay un campo llamado "indice" que quiero que tenga un correlativo por cada insert. ...
  #1 (permalink)  
Antiguo 16/08/2016, 15:54
Avatar de bandolera  
Fecha de Ingreso: abril-2009
Mensajes: 613
Antigüedad: 15 años
Puntos: 7
Pregunta Incrementar valor de campo

Hola. Inserto los valores de tabla2 en tabla1, pero en tabla1 hay un campo llamado "indice" que quiero que tenga un correlativo por cada insert.

Código PHP:
$sql "INSERT INTO tabla1 (codigo, fecha, nombre)
SELECT codigo, fecha, nombre
FROM tabla2
WHERE <condicion>
ORDER BY codigo ASC"
;

$sth $BD->prepare($sql);
$sth->execute(); 
Se puede agregar en la misma línea? o debo hacer otro $sql para actualizar el valor con el incremento que necesito?
__________________
Todos somos iguales. NO! a la violencia de género.
  #2 (permalink)  
Antiguo 16/08/2016, 16:24
Avatar de KATHYU  
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 10 años, 9 meses
Puntos: 46
Respuesta: Incrementar valor de campo

Te serviría configurar el campo indice de la tabla1 como autoincrement y que el solo se valla auto incrementando ??

Sino, primero selecciona el indice de la tabla1 y lo guardas en una variable, a eso le sumas 1 y eso lo insertas en la tabla
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.
  #3 (permalink)  
Antiguo 17/08/2016, 10:01
Avatar de bandolera  
Fecha de Ingreso: abril-2009
Mensajes: 613
Antigüedad: 15 años
Puntos: 7
Respuesta: Incrementar valor de campo

Cita:
Iniciado por KATHYU Ver Mensaje
Te serviría configurar el campo indice de la tabla1 como autoincrement y que el solo se valla auto incrementando ??

Sino, primero selecciona el indice de la tabla1 y lo guardas en una variable, a eso le sumas 1 y eso lo insertas en la tabla
Lo segundo me sirve, pero eso lo hago como proceso aparte? No lo puedo poner en el mismo Insert??
__________________
Todos somos iguales. NO! a la violencia de género.
  #4 (permalink)  
Antiguo 17/08/2016, 10:46
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Incrementar valor de campo

El quid de la cuestión es, en base a qué se establece o debe ser generado ese índice y cual es su fin.

Si simplimente su función es ser un identificador único, establece el campo en autoincremental y que la base de datos se encargue de general el número correspondiente, como te indicaron.
__________________
Unset($vida['malRollo']);
  #5 (permalink)  
Antiguo 17/08/2016, 14:56
Avatar de KATHYU  
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 10 años, 9 meses
Puntos: 46
Respuesta: Incrementar valor de campo

Cita:
Iniciado por bandolera Ver Mensaje
Lo segundo me sirve, pero eso lo hago como proceso aparte? No lo puedo poner en el mismo Insert??
Pues ira en el mismo insert pero antes tendras que calcularlo. Algo asi:
Código SQL:
Ver original
  1. SELECT top 1 id FROM mi_tabla ORDER BY id DESC

Eso te devuelve el ultimo id de la tabla pongamole 50, esto lo guardas en una variable y tendremos
Código PHP:
Ver original
  1. $result = $row['id'] + 1;

y en el insert metes el $result en el value del id

Código SQL:
Ver original
  1. INSERT INTO mi_tabla (id,nombre) VALUES ($result,$name);

Todo lo anterior lo escribi asi a lo mental, por si hay algun error, es solo para direccion, aunque lo mejor es poner en autoincrement el campo.
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.
  #6 (permalink)  
Antiguo 07/01/2017, 15:39
Avatar de bandolera  
Fecha de Ingreso: abril-2009
Mensajes: 613
Antigüedad: 15 años
Puntos: 7
Pregunta Respuesta: Incrementar valor de campo

Cita:
Iniciado por KATHYU Ver Mensaje
Pues ira en el mismo insert pero antes tendras que calcularlo. Algo asi:
Código SQL:
Ver original
  1. SELECT top 1 id FROM mi_tabla ORDER BY id DESC
(...)
Todo lo anterior lo escribi asi a lo mental, por si hay algun error, es solo para direccion, aunque lo mejor es poner en autoincrement el campo.
Hola recién retomé esta parte del código, estuve full.
Lo que quiero es insertar registros de una tabla hacia otra.
Código PHP:
$sql "INSERT INTO tabla (campo1, campo2, campo3)
SELECT campoA, campoB, campoC
FROM tabla2
WHERE CONDICIONES****"
;

$sth $BD->prepare($sql);
$sth->execute(); 
Pero según lo que indicas tendría que crear un bucle para poder incrementar el valor del campo $result.
__________________
Todos somos iguales. NO! a la violencia de género.

Etiquetas: campo, fecha, incrementar, select, sql, tabla, valor
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 07:20.