Tengo una base de datos MySQL con una mesa (InnoDB) de Juegos:¿Cómo agregar un campo varchar para una tabla que ya está en uso?
gamerooms
id: bigint(20) unsigned not null auto_increment
PRIMARY KEY (`id`)
me gustaría comenzar a generar un valor UUID para cada fila que puedo compartir públicamente, algo así como:
gamerooms
id | id_public |
--------------------
1 | abcde
2 | ghijk
3 | lmnop
...
select * from gamerooms where id_public = ...
¿Cómo agrego esta nueva columna, también teniendo en cuenta que ya hay registros en la tabla? Estoy confundido porque la columna se debe marcar NO NULO, pero después de la adición de la columna, todos los registros que ya existen tendría valores vacíos .. ¿Tengo que proporcionar un valor por defecto ?:
ALTER TABLE `gamerooms` ADD COLUMN `id_public` varchar(36) DEFAULT something AFTER `id`
quiero ponga un índice en id_public, por supuesto, después de que se haya creado, por lo que no está seguro de si los valores nulos después de que se crea la columna por primera vez lo desordenarán.
Además, puedo usar varchar (36) con salida mysqls UUID(), ¿verdad?
Gracias
¿Por qué marcar la columna 'NOT NULL' si no hay un valor significativo asignado para los elementos existentes? – Borealid