2010-06-29 19 views
10

È possibile definire (alias) un tipo di dati di base in MySQL?MySQL supporta tipi di dati definiti dall'utente

Attualmente mi piacerebbe definire UUID come char (32), e quindi utilizzare UUID come tipo in tutta la definizione dello schema. Dato che stiamo progettando il prototipo al momento, è molto probabile che l'UUID cambi: vorrei garantire che questo cambiamento si rifletta in modo coerente in tutto lo schema.

Sto pensando qualcosa del tipo:

tipo alias UUID char (32);

Grazie in anticipo!

risposta

8

In questo caso può essere utile un preprocessore di testo come M4 o qualsiasi preprocessore in linguaggio C.

Se avete il seguente nel file di tables.sql:

define(UUID, char(32)) 
create table mytable1 (my_uuid UUID); 
create table mytable2 (my_uuid UUID); 

Esecuzione

$ m4 tables.sql 

si otterrà:

create table mytable1 (my_uuid char(32)); 
create table mytable2 (my_uuid char(32)); 
0

ben ENUM fa il lavoro fino a quando certa aspettativa dei tuoi tipi di dati personalizzati, ma spero anch'io di guardare avanti a questo argomento

+0

Si prega di essere più specifici e fornire una chiara spiegazione della soluzione, preferibilmente con esempi. – savanto

Problemi correlati