2010-06-29 13 views
10

Czy możliwe jest zdefiniowanie (alias) podstawowego typu danych w MySQL?Czy MySQL obsługuje typy danych zdefiniowane przez użytkownika

Obecnie chciałbym zdefiniować UUID jako char (32), a następnie użyć UUID jako typ w całej definicji schematu. Ponieważ prototypujemy w tej chwili, najprawdopodobniej zmieni się UUID - chciałbym, aby ta zmiana była konsekwentnie odzwierciedlana w całym schemacie.

myślę coś takiego:

UUID typu alias char (32);

Z góry dziękuję!

Odpowiedz

8

W takim przypadku przydatny może być preprocesor tekstowy, taki jak M4 lub dowolny preprocesor języka C.

Jeśli następujących w pliku tables.sql:

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

Running

$ m4 tables.sql 

dostaniesz:

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

dobrze ENUM działa aż pewnego oczekiwania niestandardowych typów danych, ale mam nadzieję, że czekam na ten temat.

+0

Proszę podać dokładniejsze wyjaśnienie rozwiązania, najlepiej z przykładami. – savanto

Powiązane problemy