当前位置: 首页 > 面试题库 >

在MySQL中创建ENUM变量类型

司空玮
2023-03-14
问题内容

我在MySQL中使用ENUM数据类型,想重用它,但不重新输入值。MySQL中是否有等效于C,C ++定义类型的方法?

我要执行以下操作:

DEFINE ETYPE ENUM('a','b','c','d');
CREATE TABLE Table_1 (item1 ETYPE, item2 ETYPE);

这可能吗?

谢谢


问题答案:

号MySQL不支持CREATE DOMAINCREATE TYPE为,例如,PostgreSQL的呢。

您可能必须再次输入所有名称。您可以使用复制和粘贴或SQL脚本来减轻执行此操作所需的工作。

您还可以使用这些INFORMATION_SCHEMA表来获取ENUM定义的文本,然后将其内插到新的CREATE TABLE语句中。

您还可以CREATE TABLE AS创造性地使用它来复制类型定义。这是一个示范:

CREATE TABLE foo ( f ENUM('abc', 'xyz') );
CREATE TABLE bar AS SELECT f AS b FROM foo;
SHOW CREATE TABLE bar;

输出:

CREATE TABLE `bar` (
  `b` enum('abc','xyz') default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1

最后,我建议,如果您的ENUM中包含许多值(我想这是对的,因为您正在寻找避免输入它们的解决方案),则可能应该使用查找表而不是ENUM数据类型。



 类似资料:
  • 我想知道你能在MySQL中创建一个数组变量吗?我知道你可以创建一个普通变量,比如so

  • 问题内容: 我在用PHP变量创建SQL表时遇到了麻烦。 假设$ tbl_date =“ data”; 它不会创建表。 问题答案: 您的表名不在引号中,因此似乎无法正常工作。试试这个: 字段名称也是如此。 也可以尝试一下,这样人类更容易阅读: 请注意不同类型的引号: -在PHP中用于构建某些字符串(例如SQL查询)的单引号和双引号 -专门用作表名和列名的SQL查询一部分的反引号

  • 本文向大家介绍在SAP ABAP中创建具有动态变量类型的变量,包括了在SAP ABAP中创建具有动态变量类型的变量的使用技巧和注意事项,需要的朋友参考一下 您可以使用与RTTS相关的API来创建一个标准表(例如RANGE),该表具有类似“ LOW”,“ HIGH”,“ EQ”和“ OPTION”的组件 场符号

  • 问题内容: 我不会在MySQL上创建新的数据类型。查询如下 我如何在MySQL上做到这一点 问题答案: 你不能。MySQL没有用户定义的类型。(至少不是当前版本。)

  • 问题内容: 我正在将我的一个应用程序从Express转换为sails.js-是否可以在Sails中执行类似的操作? 从我在Express中的文件中: 这使我可以在每个视图上访问这些变量,而不必将其硬编码到模板中。虽然不确定在Sails中如何/在哪里进行。 问题答案: 您可以在文件夹中创建自己的配置文件。例如,使用您的配置变量: 然后通过全局变量从任何视图访问这些变量。 在视图中: 在服务 在模型中

  • 在JavaScript中,我可以这样做: 然后在另一个文件中: 它将定义