Re: [PHP-ES] Hola amigos, tengo una duda con PHP + MYSQL
[email protected] (Ricardo Martinez)
| Newsgroups | php.general.es |
|---|---|
| Message-ID | <[email protected]> |
hola! Con las CLAVES FORANEAS, consigues que no sé te queden datos "colgando" o "perdidos" . Porque las referencias entre distintas tablas, van como "cosidos" y muchas cosas se tienen que hacer con la programación en php, pasan a ser tratadas por mysql. El problema que estás describiendo, aún sin usar claves foraneas, no te debería de pasar. Tal y como te han comentado, si creas las tablas con un id primario ( primary ) y autoincrement, cada factura nueva en firme que generés, debería de ser seguida y correlativa. Ten en cuenta que solo puedes tener un campo con la propieda autoincrement por cada tabla. Y que ese campo obligatoriamente debe de ser primary. Yo no permitiría, eliminar facturas en un principio, ya que las facturas siempre tienen que ir correlativas, 1,2,3,4,5,6 y no puede faltar un número, si eso pasa puede traer problemas fiscales. Cuando soluciones esto, que básicamente es un problema de diseño de la base datos, el siguiente problema que vas a tener es la gestión de los décimales, con las operaciones ariméticas. Hay funciones en PHP para tratar eso. Un saludo y ánimo!!! 2010/7/24 Carlos Sura <[email protected]> > > > Hola, > Efectivamente, yo tengo para las tablas, tablas temporales, por ejemplo: > > ordencompra > octmp > facturacp > factuptmp > > Entonces, asi, si se elimina, tengo un campo llamado "borrado" con CHAR1 > Y asi, si se actualiza o se genera sin quedar el hueco vacio. > > Lo que yo exactamente veia es que, cada vez que genero una nueva me sale: > 000080 > cuando genero otra 00033 > > Y otra 00055 > > Son numeros completamente al azar, todavia no he podido leer los articulos > que me pusieron sobre integridad referencial, pero asumo que ese sera el > problema. > > Mis tablas estan con MyISAM > > > Saludos a todos y gracias por sus respuestas; me han servido de mucho las > respuestas. > > Exitos, > Carlos Sura > > > > > > > Date: Sat, 24 Jul 2010 10:28:09 +0200 > > From: [email protected] > > To: [email protected] > > CC: [email protected]; [email protected]; [email protected] > > Subject: Re: [PHP-ES] Hola amigos, tengo una duda con PHP + MYSQL > > > > Hola a todos! > > > > Yo creo que el problema lo tiene, en el diseño, tiene una tabla en la > que > > va generando "ordenes" y despues esas ordenes se convierten en facturas, > > pero que pasa si esa orden no es generada ¿? o borrada o anulada ¿? pues > que > > tiene un hueco un vacio. > > > > Para ello necesitaria una tabla temporal y otra a nivel de historico con > > las facturas en firme. > > > > Un saludo! > > > > > > 2010/7/24 hahmael <[email protected]> > > > > > No tienes que llenarlo con ceros, simplemente no haces un llamado al > > > momento > > > de hacer el Insert, ademas de que sea Auto_increment que sea un campo > NOT > > > NULL y buena candidato para que sea la llave Primaria PK.. > > > > > > supongamos tienes la tabla 'facturas' con los campos: > > > > > > id_factura(int)... > > > name_customer(char 0) > > > > > > el insert podría ser de dos formas.. > > > > > > 1. INSERT INTO facturas (id_factura, name_customer) VALUES (NULL, > 'carlos > > > pepito') > > > 2. INSERT INTO facturas (name_customer) VALUES ('carlos pepito') > > > > > > Saludo. > > > > > > > > > 2010/7/23 Carlos Sura <[email protected]> > > > > > > > Hola a todos. > > > > > > > > Agradezco mucho sus recomendaciones, la verdad es que si estoy > trabajando > > > > con la base de datos asi, y el id tiene auto incremento y lleno los > > > espacios > > > > vacios con ceros, pero de igual forma, no me los crea en orden. > > > > > > > > Voy a revisar bien lo de integridad referencial y voy a probar de > nuevo. > > > > > > > > Exitos, > > > > Carlos Sura > > > > > > > > -----Original Message----- > > > > From: Ivan Rico [mailto:[email protected]] > > > > Sent: viernes, 23 de julio de 2010 05:14 p.m. > > > > To: Ariel Camino > > > > Cc: [email protected] > > > > Subject: Re: [PHP-ES] Hola amigos, tengo una duda con PHP + MYSQL > > > > > > > > Lo que dice Ariel es lo mejor que puedes hacer, y que pasa cuando > > > borras?, > > > > pues realmente no sucede nada, solamente deja de existir ese > cosecutivo y > > > no > > > > se recicla > > > > > > > > Si quieres tener el control total con el borrado y creación de > registros > > > > has uso de la integridad referencial, es ese tema de las llaves > foraneas > > > y > > > > esta soportada por el motor InnoDB > > > > > > > > http://dev.mysql.com/doc/refman/5.0/es/ansi-diff-foreign-keys.html > > > > > > > > de hecho yo te diria que usar esto no es una opción sino un requisito > > > para > > > > hacer sistemas. > > > > > > > > saludos > > > > > > > > ----- Mensaje original ----- > > > > De: "Ariel Camino" <[email protected]> > > > > Para: [email protected] > > > > Enviados: Viernes, 23 de Julio 2010 17:39:50 GMT -06:00 Guadalajara / > > > > Ciudad de México / Monterrey > > > > Asunto: Re: [PHP-ES] Hola amigos, tengo una duda con PHP + MYSQL > > > > > > > > Lo mejor es que en la estructura de la tabla utilices un campo con la > > > > propiedad AUTO_INCREMENT, y le delegues el problema a Mysql: > > > > http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html > > > > > > > > Saludos, > > > > -- > > > > Ariel Camino > > > > > > > > -- > > > > PHP Spanish Localization Talk Mailing List (http://www.php.net/) > > > > To unsubscribe, visit: http://www.php.net/unsub.php > > > > > > > > > > > > -- > > > > PHP Spanish Localization Talk Mailing List (http://www.php.net/) > > > > To unsubscribe, visit: http://www.php.net/unsub.php > > > > > > > > > > > > > > > > -- > > > > PHP Spanish Localization Talk Mailing List (http://www.php.net/) > > > > To unsubscribe, visit: http://www.php.net/unsub.php > > > > > > > > > > > > > > > > > -- > > > Agradecido. > > > > > > Hahmael Tâher. > > > > > > > > > > > -- > > Ricardo > > _______________________________________________ > > IT Architect > > website: http://www.rjmc.es > > _________________________________________________________________ > http://clk.atdmt.com/UKM/go/197222280/direct/01/ > We want to hear all your funny, exciting and crazy Hotmail stories. Tell us > now > -- Ricardo _______________________________________________ IT Architect website: http://www.rjmc.es