2011-04-23 10 views
14

De acuerdo con el sitio web de MySQL, el bigint firmado puede ir hasta 18446744073709551615. ¿Qué sucede si necesito un número más grande que el de la clave principal de incremento automático?¿Qué sucede si necesito una identificación de autoincrement muy grande?

+8

Da un ejemplo real donde necesitas esto que ya es un número muy grande –

+2

No puedo pensar en una situación teórica donde esto sería necesario ... pero si es así, solo use una cuerda que usted mismo incremente. Cualquier base de datos fallaría mucho antes de llegar a tantas filas de todos modos. – Mikecito

Respuesta

2

Supongo que estás jodido? Podría deshacerse del incremento automático de MySQL y podría usar un número de base 64 que usted mismo incrementa.

91

Si inserta 1 millón de registros por segundo 24x7, le llevará 584542 años alcanzar el límite.

espero para entonces una próxima versión de MySQL apoyará grandes columnas ID, y los desarrolladores de todo ser capaz de hacer cálculos de back-of-the-sobre antes de publicar en Stack Overflow   :)

+0

¡bien respondido! Estaba pensando lo mismo pero no hice los cálculos. –

+3

Creo que para entonces hav MySQL 9000.900.90.9 :) – Sourav

+2

La 'matemática' real es 18446744073709551615/(1000000 * 60 * 60 * 24 * 365.25), bastante sencillo: un millón, 60 segundos en un minuto, 60 minutos en una hora, 24 horas en un día, 365 días en un año (y una cuarta parte en años bisiestos, realmente no es necesario). No hace falta que nadie piense. – 9000

14

Con tal número (1 a 18446744073709551615), puedes darle a todos los animales de la tierra un ID único :)

+0

hahahha hizo mi día !!!!! – DaAmidza

Cuestiones relacionadas