Foros del Web » Programando para Internet » PHP »

generar consecutivo

Estas en el tema de generar consecutivo en el foro de PHP en Foros del Web. Hola hice este script para generar un consecutivo @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código php: Ver original $sql = "SELECT * FROM comprobante_egreso ORDER BY ib_comprobante DESC LIMIT ...

  #1 (permalink)  
Antiguo 28/05/2009, 11:03
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 22 años, 10 meses
Puntos: 20
generar consecutivo

Hola hice este script para generar un consecutivo

Código php:
Ver original
  1. $sql="SELECT * FROM comprobante_egreso ORDER BY ib_comprobante DESC LIMIT 1";
  2. $run=mysql_query($sql) or die (mysql_error());
  3.  
  4. while ($trae = mysql_fetch_assoc($run)) {
  5.  
  6. $codigo=$trae['ib_comprobante'];
  7.  
  8. }
  9. echo $codigo;
  10. $nuevo_codigo=$codigo+1;

pero resulta que solo me esta trayendo los datos que hay hasta el numero 9 o sea no me esta contando los que estan del 10 en adelante, como lo puedo solucionar?
__________________
Say no more.......
  #2 (permalink)  
Antiguo 28/05/2009, 11:20
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: generar consecutivo

Porque le tienes un limit? para siempre mirar el ultimo caso? y el problema es que te esta trayendo el 9 siempre?
  #3 (permalink)  
Antiguo 28/05/2009, 12:29
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 22 años, 10 meses
Puntos: 20
Respuesta: generar consecutivo

si, la idea es que el me traiga el ultimo registro que hay es decr el ultimo numero y si me esta trayendo siempre 9
__________________
Say no more.......
  #4 (permalink)  
Antiguo 28/05/2009, 12:35
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 15 años
Puntos: 19
Respuesta: generar consecutivo

y si cambias tu consulta, algo asi;

$sql="SELECT max(ib_comprobante) as ultimo FROM comprobante_egreso";
__________________
La estadística es una ciencia que demuestra que si mi vecino tiene dos coches y yo ninguno, los dos tenemos uno.
  #5 (permalink)  
Antiguo 28/05/2009, 12:36
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: generar consecutivo

dale un limit de 10 a ver si te sale alguna informacion mas grande del 9
  #6 (permalink)  
Antiguo 28/05/2009, 12:37
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Respuesta: generar consecutivo

¬¬ siendo un campo alfanumérico, ¿qué esperabas?. Utiliza lo que se supone estás trabajando (números, campo numérico) y/o haz un casting al valor del campo.

Ahora, sabrás de los valores autoincrementables y/o secuencias (según el tipo de BD que utilizes) ... tu problema es más de SQL, si ese es tu único objetivo la solución es mucho más simple.

Un saludo
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #7 (permalink)  
Antiguo 28/05/2009, 12:48
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 22 años, 10 meses
Puntos: 20
Respuesta: generar consecutivo

de hecho el campo es entero autoincremental pero resulta que hay registros que no tienen numero y necesito es que me tome e ultimo valor que exista
__________________
Say no more.......
  #8 (permalink)  
Antiguo 28/05/2009, 12:52
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Respuesta: generar consecutivo

¿de qué base de datos estamos hablando?, ¿en qué situaciones el campo no se auto-incrementaria y/o por qué hay valores vacios?.

Dichos tipos de campo son para eso ... seria bueno mostraras la definición de la tabla.
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #9 (permalink)  
Antiguo 28/05/2009, 12:54
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 22 años, 10 meses
Puntos: 20
Respuesta: generar consecutivo

perfecto aumente el Desc Limit a 10 y funko perfecto, por cierto a que se refiere el Desc limit, es decir que hace?
__________________
Say no more.......
  #10 (permalink)  
Antiguo 28/05/2009, 13:03
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Ok prueba esto

Código PHP:
$sql "SELECT * FROM comprobante_egreso";
$r mysql_query($sql) or die();
$nr mysql_num_rows($r);
mysql_data_seek($r,$nr-1);
$row mysql_fetch_assoc($r);
echo 
$row["ib_comprobante"]; 
dejame saber

Si si pero esperate que el limit 10 lo que estas haciendo es trayendo 10 datos, tu solamente quieres el ultimo dato ingresado, trata el codigo que te di antes de este comentario

Última edición por GatorV; 01/06/2009 a las 18:33
  #11 (permalink)  
Antiguo 28/05/2009, 13:08
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Respuesta: generar consecutivo

... solo comentar que no considero buena idea traer todos los campos, todos los registros, toda la información de una tabla, iterar sobre cada resultado, procesarlo ... para al final utilizar ¡solo un dato!, que ¡va a parar a la misma base de datos!!!!

Solo el comentario. Un saludo
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #12 (permalink)  
Antiguo 28/05/2009, 13:10
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: generar consecutivo

Bueno mijo con los errores que tiene en la base de datos que no le da el ultimo con el ID que mas puede hacer. Si quieres no escribas select * entonces y usa select ib_comprobante lol
  #13 (permalink)  
Antiguo 28/05/2009, 13:15
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: generar consecutivo

Cita:
Iniciado por el_cesar
por cierto a que se refiere el Desc limit, es decir que hace?
DESC = forma parte de la clausula ORDER y especifica que el orden sea descendente.

ORDER BY (campo|indice|funcion) [(ASC|DESC)]

El modo por defecto es ASC, por eso rara vez lo encontraras en una consulta.

LIMIT es para obtener una cantidad maxima de registros en la consulta:

LIMIT registros - Con esta opcion obtendras solamente la cantidad de registros especificados, se usa para obtener los primeros o ultimos registros de la tabla segun la consulta y dependiendo de ORDER
LIMIT posicion,registros - Primero posicionas el registro de inicio y, a partir de ahi, obtienes la cantidad de registros especificados, se usa por ejemplo para paginacion.
__________________
- León, Guanajuato
- GV-Foto
  #14 (permalink)  
Antiguo 28/05/2009, 16:21
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 22 años, 10 meses
Puntos: 20
Respuesta: generar consecutivo

perfecto abimaelrc me funko muy bien
gracias
__________________
Say no more.......
  #15 (permalink)  
Antiguo 28/05/2009, 16:44
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Respuesta: generar consecutivo

Cita:
Iniciado por abimaelrc Ver Mensaje
Bueno mijo con los errores que tiene en la base de datos que no le da el ultimo con el ID que mas puede hacer. Si quieres no escribas select * entonces y usa select ib_comprobante lol
¿cómo que qué más se le puede hacer? ... simple: hacerlo bien. Tampoco entiendo por qué el "lol" si en lugar de "*" se usa el nombre del campo, esa es una buena medida.

Cuando haces un "SELECT *" tampoco es que te los ordene así como así, se le puede especificar el orden que esté utilizando y recuperar solo el dato que se busca, es más efectivo y simple ... pero bueno: "¿qué más se le puede hacer?"

Solo está el comentario, que bien que al menos esté claro , con conciencia, hágase lo que se quiera hacer.

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #16 (permalink)  
Antiguo 28/05/2009, 17:35
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Hazle caso a jam1138 que debes arreglar la base de datos para que solo llames en un futuro el ultimo caso asi como tu mencionaste

$sql="SELECT * FROM comprobante_egreso ORDER BY ib_comprobante DESC LIMIT 1";

Por tu culpa el_cesar me regañaron

Última edición por jam1138; 28/05/2009 a las 18:09
  #17 (permalink)  
Antiguo 28/05/2009, 17:55
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: generar consecutivo

Cita:
Iniciado por abimaelrc
Por tu culpa el_cesar me regañaron
No te regañaron (y menos por culpa de alguien que pregunta) solo te dijeron que el hecho de que algo funciona no significa que esta bien o es lo adecuado / optimo.
__________________
- León, Guanajuato
- GV-Foto
  #18 (permalink)  
Antiguo 28/05/2009, 17:56
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: generar consecutivo

chico es broma :S ay padre
  #19 (permalink)  
Antiguo 29/05/2009, 12:16
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 22 años, 10 meses
Puntos: 20
Respuesta: generar consecutivo

Cita:
Iniciado por abimaelrc Ver Mensaje
Hazle caso a jam1138 que debes arreglar la base de datos para que solo llames en un futuro el ultimo caso asi como tu mencionaste

$sql="SELECT * FROM comprobante_egreso ORDER BY ib_comprobante DESC LIMIT 1";

Por tu culpa el_cesar me regañaron
jajajaja, suelo causar ese efecto, mentiras ahora si en serio a que se refieren con arreglar la base de datos,
esta es la estructura que tengo
Cita:
-- Estructura de tabla para la tabla `comprobante_egreso`
--

CREATE TABLE `comprobante_egreso` (
`ib_comprobante` varchar(5) NOT NULL,
`ciudad` text NOT NULL,
`fecha` date NOT NULL,
`valor` int(11) NOT NULL,
`pagado_a` text NOT NULL,
`concepto` text NOT NULL,
`suma_letras` text NOT NULL,
`efectivo` int(11) NOT NULL,
`cheque` text NOT NULL,
`banco` text NOT NULL,
`sucursal` text NOT NULL,
`elaboro` text NOT NULL,
PRIMARY KEY (`ib_comprobante`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
y ahi me perdonas por lo del "regaño" jeje
__________________
Say no more.......
  #20 (permalink)  
Antiguo 29/05/2009, 12:17
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
el id_comprobante debiera ser un auto-increment

y asegurarte de que no se repita ya que es primary key

Última edición por jam1138; 29/05/2009 a las 13:14
  #21 (permalink)  
Antiguo 29/05/2009, 13:25
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Respuesta: generar consecutivo

Cita:
Iniciado por el_cesar Ver Mensaje
de hecho el campo es entero autoincremental [...]
Pues según la definición de tu tabla, no es así, es un campo alfanumérico:

Cita:
Iniciado por el_cesar Ver Mensaje
CREATE TABLE `comprobante_egreso` (
`ib_comprobante` varchar(5) NOT NULL,
`ciudad` text NOT NULL,
`fecha` date NOT NULL,
`valor` int(11) NOT NULL,
`pagado_a` text NOT NULL,
`concepto` text NOT NULL,
`suma_letras` text NOT NULL,
`efectivo` int(11) NOT NULL,
`cheque` text NOT NULL,
`banco` text NOT NULL,
`sucursal` text NOT NULL,
`elaboro` text NOT NULL,
PRIMARY KEY (`ib_comprobante`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Cita:
Iniciado por abimaelrc Ver Mensaje
el id_comprobante debiera ser un auto-increment
El tipo "AUTO_INCREMENT" solo aplica a datos enteros y de punto flotante (por cierto, es 'ib_comprobante', nombre que me pareció curioso desde el principio , pensé igual no era un primary key ).

Así pues, me remito a mi primer comentario:
Cita:
Iniciado por jam1138 Ver Mensaje
¬¬ siendo un campo alfanumérico, ¿qué esperabas?. Utiliza lo que se supone estás trabajando (números, campo numérico) y/o haz un casting al valor del campo.
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #22 (permalink)  
Antiguo 29/05/2009, 13:36
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: generar consecutivo

Debes cambiar el ib_comprobante de varchar a int a menos que quieras demostrar un primary key como alpanumerico. que puedan escribir letras de a-Z si lo que vas a ingresar ahi son numeros solamente debes cambiarlo de varchar a int y asignarle un auto_increment
  #23 (permalink)  
Antiguo 29/05/2009, 15:07
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 22 años, 10 meses
Puntos: 20
Respuesta: generar consecutivo

Cita:
Iniciado por jam1138
El tipo "AUTO_INCREMENT" solo aplica a datos enteros y de punto flotante (por cierto, es 'ib_comprobante', nombre que me pareció curioso desde el principio , pensé igual no era un primary key ).
el nombre fue un error de digitacion que asi se quedo

Cita:
Iniciado por jam1138
Pues según la definición de tu tabla, no es así, es un campo alfanumérico:
perdon, no la revise antes de ponerla pero si alli esta el error, la pregunta es, cambiandolo a INT AUTOINCREMENT se solucionaria el problema?
__________________
Say no more.......
  #24 (permalink)  
Antiguo 29/05/2009, 19:53
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: generar consecutivo

asi es de esa forma puedes llamarlo como tu escribiste la primera vez, pero debes verificar que todos los valores que esten en la base de datos sean todos numeros
  #25 (permalink)  
Antiguo 30/05/2009, 12:01
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: generar consecutivo

Cita:
Iniciado por el_cesar
cambiandolo a INT AUTOINCREMENT se solucionaria el problema?
Lo mas seguro es que si, porque en orden alfabetico (el que corresponde a campos varchar) '9' es mayor que '1000000', asi como 'z' es mayor que 'aaaaaaaaaaaa'. El Autoincrement te ayudara a generar el consecutivo de forma automatica.
__________________
- León, Guanajuato
- GV-Foto
  #26 (permalink)  
Antiguo 30/05/2009, 12:10
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 22 años, 10 meses
Puntos: 20
Respuesta: generar consecutivo

ok perfecto ya mismo lo cambio entonces
__________________
Say no more.......
  #27 (permalink)  
Antiguo 01/06/2009, 10:00
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 22 años, 10 meses
Puntos: 20
Respuesta: generar consecutivo

esta es la estructura de mi bd
Cita:
CREATE TABLE `comprobante_egreso` (
`ib_comprobante` varchar(5) NOT NULL,
`ciudad` text NOT NULL,
`fecha` date NOT NULL,
`valor` int(11) NOT NULL,
`pagado_a` text NOT NULL,
`concepto` text NOT NULL,
`suma_letras` text NOT NULL,
`efectivo` int(11) NOT NULL,
`cheque` text NOT NULL,
`banco` text NOT NULL,
`sucursal` text NOT NULL,
`elaboro` text NOT NULL,
PRIMARY KEY (`ib_comprobante`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--
-- Volcar la base de datos para la tabla `comprobante_egreso`
--

INSERT INTO `comprobante_egreso` VALUES('00000', '', '0000-00-00', 0, '', '', '', 0, '', '', '', '');
INSERT INTO `comprobante_egreso` VALUES('3', 'CALI', '2009-04-24', 304920, 'GLOBAL ONE TELECOMUNICACIONES S.A.', 'SERVICIO DE CONTACT CENTER (DISTRICINTAS)', 'TRESCIENTOS CUATRO MIL NOVECIENTOS VEINTE MIL PESOS MCTE', 304920, '-------------', '-------------', '-------------', '');
INSERT INTO `comprobante_egreso` VALUES('2', 'CALI', '2009-04-13', 135000, 'MICHELLE PAMELA CAMPOVERDE', 'COMISION CONTRATO FBH', 'CIENTO TREINTA Y CINCO MIL PESOS MCTE', 135, '-------------', '-------------', '-------------', '');
INSERT INTO `comprobante_egreso` VALUES('', '', '0000-00-00', 0, '', '', '', 0, '-------------', '-------------', '-------------', '');
INSERT INTO `comprobante_egreso` VALUES('1', 'CALI', '2009-02-20', 50000, 'ANDRES FELIPE RAMIREZ MORENO', 'MENSAJERIA Y TRANSPORTE', 'CINCUENTA MIL PESOS MCTE. ', 50, '-------------', '-------------', '-------------', 'Cesar Jaramillo');
INSERT INTO `comprobante_egreso` VALUES('4', 'CALI', '2009-04-24', 40301, 'GODADDY.COM,INC', 'DOMINIO DISTRICINTAS.COM', 'CUARENTA MIL TRESCIENTOS UN PESOS MCTE.(17.38 X 2318.83)', 40, '-------------', '-------------', '-------------', '');
INSERT INTO `comprobante_egreso` VALUES('5', 'CALI', '2009-04-24', 120000, 'LEGISLACION ECONOMICA S.A.', '3 LIBROS: MANUAL RET.FTE. MANUAL IVA. PEQUEÑAS EMPRESAS', 'CIENTO VEINTE MIL PESOS MCTE.', 0, '-------------', '-------------', '-------------', 'YM');
INSERT INTO `comprobante_egreso` VALUES('6', 'CALI', '2009-04-24', 470000, 'EDSON ARTURO QUISPE', 'SERVICIO DE DISEÑO', 'CUATROCIENTOS SETENTA MIL PESOS MCTE. (200X2350)', 470, '-------------', '-------------', '-------------', 'YM');
INSERT INTO `comprobante_egreso` VALUES('7', 'CALI', '2009-04-30', 200500, 'CLAUDIA NAVARRO M.', 'REEMBOLSO GTOS.CAJA MENOR (RELACION ADJUNTA)', 'DOSCIENTOS MIL QUINIENTOS PESOS MCTE.', 200, '-------------', '-------------', '-------------', 'YM');
INSERT INTO `comprobante_egreso` VALUES('8', 'Cali', '2009-05-08', 90000, 'LUIS GABRIEL RODRIGUEZ SAUCEDO', 'SERVICIOS INFORMATICOS', 'NOVENTA MIL PESOS', 90, '-------------', '-------------', '-------------', 'CN');
INSERT INTO `comprobante_egreso` VALUES('9', 'CALI', '2009-05-02', 326700, 'GLOBAL ONE COMUNICACIONES', 'SERV.CIO.ELECTRONICO FT.12727 IND.PERDOMO (ABONO)', 'TRESCIENTOS VEINTISEIS MIL SETECIENTOS PESOS MCTE.', 326, '-------------', '-------------', '-------------', 'YM');
INSERT INTO `comprobante_egreso` VALUES('10', 'CALI', '2009-05-02', 630000, 'CESAR AUGUSTO JARAMILLO CONTRERAS', 'HONORARIOS SERVICIOS PROFECIONALES MERCADEO', 'SEISCIENTOS TREINTA MIL PESOS MCTE.', 630, '-------------', '-------------', '-------------', 'YM');
INSERT INTO `comprobante_egreso` VALUES('11', 'CALI', '2009-05-02', 450000, 'CLAUDIA NAVARRO MONTEALEGRE', 'HONORARIOS SERVICIOS PROFECIONALES MERCADEO', 'CUATROCIENTOS CINCUENTA MIL PESOS MCTE.', 450, '-------------', '-------------', '-------------', 'YM');
INSERT INTO `comprobante_egreso` VALUES('12', 'CALI', '2009-05-02', 72000, 'MARIA YOLANDA MONTEALEGRE A.', 'HONORARIOS SERVICIOS PROFESIONALES CONTABLES', 'SETENTA Y DOS MIL PESOS MCTE.', 72, '-------------', '-------------', '-------------', 'YM');
INSERT INTO `comprobante_egreso` VALUES('14', 'CALI', '2009-05-08', 300500, 'GLOBAL ONE COMUNICACIONES', 'SERV.CIO.ELECTRONICO FT.12731 BETHLEMITAS', 'TRESCIENTOS MIL QUINIENTOS PESOS M.CTE.', 300, '-------------', '-------------', '-------------', 'YM');
INSERT INTO `comprobante_egreso` VALUES('15', '', '2009-05-15', 283191, 'GLOBAL ONE COMUNICACIONES', 'SERV.CIO.ELECTRONICO FT.12724 $138680 FT.12727$6000 FT.12730 $133080 FT.12731 $5431', 'DOSCIENTOS OCHENTA Y TRES MIL CIENTO NOVENTA Y UN PESOS MCTE.', 283, '-------------', '-------------', '-------------', 'YM');
INSERT INTO `comprobante_egreso` VALUES('13', 'CALI', '2009-05-05', 190800, 'FABIAN MEJIA ABADIA ', 'ARRENDAMIENTO, INTERESES Y CONSUMO', 'CIENTO NOVENTA MIL OCHOCIENTOS PESOS', 190, '-------------', '-------------', '-------------', '');
INSERT INTO `comprobante_egreso` VALUES('16', 'CALI', '2009-05-15', 90000, 'LUIS GABRIEL RODRIGUEZ', 'PRESTACION DE SERVICIOS INFORMATICOS', 'NOVENTA MIL PESOS MCTE', 90, '-------------', '-------------', '-------------', '');
INSERT INTO `comprobante_egreso` VALUES('17', 'CALI', '2009-05-22', 1300000, 'CESAR AUGUSTO JARAMILLO', 'PRESTAMO', 'UN MILLON TRESCIENTOS MIL PESOS', 1, '-------------', '-------------', '-------------', '');
INSERT INTO `comprobante_egreso` VALUES('18', 'CALI', '2009-05-22', 774000, 'DIAN - ALCALDIA', '4.000 ICA 642.000 IVA 128.000 RETEFUENTE', 'SETECIENTOS SETENTA Y CUATRO MIL PESOS', 774, '-------------', '-------------', '-------------', '');
INSERT INTO `comprobante_egreso` VALUES('24', 'CALI', '2009-05-29', 186700, 'CLAUDIA NAVARRO MONTEALEGRE', 'REEMBOLSO CAJA MENOR', 'CIENTO OCHENTA Y SEIS MIL SETECIENTOS', 186, '-------------', '-------------', '-------------', '');
INSERT INTO `comprobante_egreso` VALUES('23', 'CALI', '2009-05-29', 180000, 'LUIS GABRIEL RODRIGUEZ', 'SERVICIOS PROFESIONALES DE DESARROLLO', 'CIENTO OCHENTA MIL PESOS', 180, '-------------', '-------------', '-------------', '');
INSERT INTO `comprobante_egreso` VALUES('22', 'CALI', '2009-05-29', 180000, 'ANGELICA MARIA BONILLA B.', 'HONORARIOS DE CONTABILIDAD', 'CIENTO OCHENTA MIL PESOS ', 200, '-------------', '-------------', '-------------', '');
INSERT INTO `comprobante_egreso` VALUES('21', 'CALI', '2009-05-29', 166000, 'CLAUDIA NAVARRO MONTEALEGRE', 'SERVICIOS PROFESIONALES EN MERCADEO', 'CIENTO SESENTA Y SEIS MIL PESOS', 166, '-------------', '-------------', '-------------', '');
INSERT INTO `comprobante_egreso` VALUES('20', 'CALI', '2009-05-29', 66000, 'MARIA YOLANDA MONTEALEGRE', 'SERVICIOS PROFESIONALES EN CONTABILIDAD', 'SESENTA Y SES MIL PESOS', 66, '-------------', '-------------', '-------------', '');
INSERT INTO `comprobante_egreso` VALUES('19', 'CALI', '2009-05-29', 233300, 'CESAR AUGUSTO JARAMILLO', 'GASTOS DE REPRESENTACION MES DE MAYO DE 2009', 'DOSCIENTOS TREINTA Y RES MIL PESOS ', 233, '-------------', '-------------', '-------------', '');
INSERT INTO `comprobante_egreso` VALUES('25', 'CALI', '2009-06-01', 172550, 'CNC CENTRO DE NEGOCIOS FABIAN MEJIA ABADIA', 'ARRENDAMIENTO YSERVICIOS ADICIONALES', 'CIENTO SETENTA Y DOS MIL QUINIENTOS CINCUENTA PESOS MCTE.', 172, '-------------', '-------------', '-------------', 'YM');
pero no se como pasarlo ahora de varchar a int auto incremental, porque necesito que me conserve los mismos id
__________________
Say no more.......
  #28 (permalink)  
Antiguo 01/06/2009, 13:42
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: generar consecutivo

Respalda tu tabla y despues intentas hacer el cambio desde PhpMyAdmin y nos cuentas como te fue.

Que es lo peor que puede pasar?... que no funcione y tengas que recuperar la tabla desde el respaldo que hiciste.
__________________
- León, Guanajuato
- GV-Foto
  #29 (permalink)  
Antiguo 01/06/2009, 17:11
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 22 años, 10 meses
Puntos: 20
Respuesta: generar consecutivo

pues ya intente cambiar el vrchar a int auto incremental pero no me toma el cambio porque dice que hay un registro duplicado y verifique y no hay ningun campo que se repita
__________________
Say no more.......
  #30 (permalink)  
Antiguo 01/06/2009, 18:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: generar consecutivo

Pues yo veo un registro vacio, ese al insertarlo te va a querer generar un valor y por el orden que lo tienes sería el 4, y a la hora de insertar el 4 te marca el error.

Saludos.
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 20:01.