Hola,
Es posible definir un campo auto_increment sin que este sea primary key???
Gracias
Saludos
| |||
Definir auto_increment Hola, Es posible definir un campo auto_increment sin que este sea primary key??? Gracias Saludos
__________________ La ficción es y será mi única realidad |
| |||
Respuesta: Definir auto_increment si claro que se puede definir como auto incrementable sin que sea llave primaria. pero la condicion que coloca mysql es que sea INDICE mira este ejemplo:
Código MySQL:
Ver original |
| ||||
Respuesta: Definir auto_increment Es cierto. Pero es sumamente ineficiente. Ya que el primary key crea por defecto un indice y al crear otro indice sobre otro campo serían dos indices que realmente no serían aprovechables. Mi recomendación es que dejes el auto_increment como primary key con su respectivo indice y al campo nombre uses unique key si lo quue quieres es que los nombres no se repitan.
Código SQL:
Ver original
__________________ Without data, You are another person with an opinion. W. Edwads Deming |
| ||||
Respuesta: Definir auto_increment Además delo dicho, MySQL omite el uso de la PK en el ordenamiento de la subconsultas cuando hay un campo AUTO_INCREMENT. Usando tu propio ejemplo:
Código MySQL:
Ver original Como se puede apreciar, la consulta no se ha ordenado por la columna nombre, que es PK y por tanto debería ser la usada como ordenador (es el modo por default de MySQL), sino por numero, que es auto_increment.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) Última edición por gnzsoloyo; 03/06/2010 a las 13:14 |
| ||||
Respuesta: Definir auto_increment Corrijo un poco lo que dije anteriormente... un unique key también crea un indice implicito. Pero estoy deacuerdo con gnzsoloyo.
__________________ Without data, You are another person with an opinion. W. Edwads Deming |
| |||
Respuesta: Definir auto_increment Hola, En primer lugar muchisimas gracias por las respuestas. Mi caso es el siguiente, imaginemos un pedido, tienes una tabla para el pedido, tienes una tabla de articulos y creas la tabla para relacionar articulos con el pedido, en donde lo logico es que la id del articulo y la id del pedido sean Primary Key. Hasta aqui todo normal. El problema es que la estructura en la que la estoy haciendo (y que me tengo que adaptar) exige que las tablas tengan una clave NombreTabla_PK, entonces he pensado si se ha de tener aprovecharla para cargar los pedidos, pero no tiene ningun sentido que sea primary key pues se podria repetir 1-pedido1-articulo1 y 2-pedido1-articulo1. Pero claro pra aprovecharla si necesito que sea auto_increment. Visto lo que me han propuesto puedo pooner como key el NombreTabla_PK asi puede ser auto_increment O poner esa como primary_key pero con los ids (Id_articulo,Id_pedido) como unique, si se puede hacer claro Que me recomendais??? Un saludo y gracias
__________________ La ficción es y será mi única realidad |
Etiquetas: |