2010-06-29 75 views
10

是否可以在MySQL中定义(别名)基础数据类型?MySQL支持用户定义的数据类型

目前我想将UU​​ID定义为char(32),然后在整个模式定义中使用UUID作为类型。在我们现在正在进行原型设计时,UUID很可能会发生变化 - 我希望确保这种变化在整个架构中始终如一地反映出来。

我在想这样的事:

别名类型UUID char(32);

在此先感谢!

回答

8

在这种情况下,文本预处理程序如M4或任何C语言预处理程序可能会有用。

如果你的文件tables.sql如下:

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

运行

$ m4 tables.sql 

你会得到:

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

以及ENUM做的工作,直到一定的期望您的自定义数据类型,但我太希望期待这个主题

+0

请更具体一点,并提供解决方案的明确解释,最好有例子。 – savanto 2014-05-03 19:03:37