Amigos,ejecución de una c/C++ unión de estilo como una columna en MySQL
que tienen una extraña necesidad y no pueden pensar en mi camino a través del problema. El gran y poderoso Google es de poca ayuda debido al reciclaje de palabras clave (como verás). ¿Puede usted ayudar?
Lo que quiero hacer es almacenar datos de múltiples tipos en una sola columna en MySQL.
Esta es la base de datos equivalente a una unión C (y si busca MySQL y Union, obviamente obtiene un montón de cosas sobre la palabra clave UNION en SQL).
[Sigue el caso simplificado y modificado] Por lo tanto, digamos que tenemos personas, que tienen nombres, y STORMTROOPERS, que tienen números TK. No puedes tener TANTO un NOMBRE como un número de TK. Eres BOB SMITH o TK409.
En CI puede expresar esto como una unión, así:
union {
char * name;
int tkNo;
} EmperialPersonnelRecord;
Esto hace que sea para que yo estoy bien almacenando un puntero a una matriz de caracteres o un ID en el tipo EmperialPersonnelRecord, no, pero ambos.
Estoy buscando un equivalente de MySQL en una columna. Mi columna almacenaría un int, double o varchar (255) (o la combinación que sea). Pero solo tomaría el espacio del elemento más grande.
¿Esto es posible?
(por supuesto todo es posible dado suficiente tiempo, dinero y voluntad - quiero decir es posible si yo soy pobre, perezoso y en un plazo ... también conocido como "fuera de la caja")
respondí con una forma de hacerlo, pero puede por favor elaborar ¿POR QUÉ quieres/necesito? Parece que la solución obvia de almacenar todos los atributos separados en columnas separadas NULL funcionaría muy bien – DVK