MySQL 将字段添加到 Enum

2023-12-04

我必须向数据库表添加一些枚举选项。问题是,我必须对多个表和数据库执行此操作,并且它们可能并不都具有相同的枚举数据类型。是否有理由编写更改表查询或类似于将选项附加到枚举数据类型的内容?

如果没有办法纯粹在 MySQL 中完成此操作,您将如何使用 PHP 脚本解决这个问题?


没有简单的方法来附加枚举值。

这是丑陋且未经测试的,但我认为它会给你一个想法:

<?php

$sql = "select table_schema
             , table_name
             , column_name
             , column_type
             , is_nullable
             , column_default
          from information_schema
         where data_type = 'enum'";

$res = mysql_query($sql);

while ($row = mysql_fetch_assoc($res)) {

  // these are important -->       leading comma --v      close paren --v
  $new_enum = substr($row['column_type', 0, -1) . ",'new','enums','here')"

  $sql = "alter table `{$row['table_schema']}`.`{$row['table_name']}`";
  $sql .= " modify column `{$row['column_name']}`";
  $sql .= " $new_enum";
  $sql .= ($row['is_nullable'] == 'YES') ? " NULL" : " NOT NULL";
  $sql .= " default $row['column_default']";

  mysql_query($sql);
}

您可能可以使用存储过程“纯粹在 mysql 中”来完成此操作,但这超出了我现在所能理解的范围。 :)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL 将字段添加到 Enum 的相关文章

随机推荐

  • c11 _Generic 泛型关联的结果表达式的每个分支都必须有效吗?

    我似乎无法将参数传递给需要不同参数的函数 或传递给实现第一个类型的子集的其他 Generic 宏 define DEBUG PRINT x Generic x debug print options DEBUG PRINT CUSTOM T
  • ORACLE NLS_LANG

    如何设置和检查NLS LANG设置 我做到了 set NLS LANG DANISH DENMARK WE8ISO8859P2 在命令提示符下 但我不知道它是否正确 这取决于操作系统和命令解释器 Linux bash echo NLS LA
  • CSS:根据其 href 设置链接样式

    我的网站上有一个我想要设置样式的第三方链接 但它没有任何我可以定位的类或 ID 它唯一拥有的就是它独特的 href 值 是否可以根据其 href 值设置锚标记的样式 您可以使用 href css 选择器来设置样式a基于链接的标签 a hre
  • 如何使用 Python 获取 SVG 路径的高度、宽度和长度?

    我有一个 svg 其中有大量这样的路径
  • FCM 字段“数据”必须是 JSON 数组

    您好 我正在与邮差一起制作我的 json 对象 FCM 消息 但是当我尝试发送时 to fzvihT7dFUI APA91bFVhnWAxXVjlWiiHIs9ZUyL1DE2hZO6GpItJtReh3hcKF1kD6mLuQq9fNP9
  • repz ret:为什么这么麻烦?

    的问题repz ret已经在这里介绍了 1 以及其他来源 2 3 还算满意 然而 在阅读这两个来源时 我找到了以下问题的答案 是什么actual定量比较中的惩罚ret or nop ret 尤其是在后一种情况下 当大多数函数要么有 100
  • 应用程序兼容主题的弹出菜单分隔线

    我使用了应用程序兼容主题样式
  • 在同一行上获取 2 个 div

    我试图让 2 个 div 位于同一行 我已经 div class header div class clear hideSkiplink div class menuDiv div div div
  • 创建带有滚动条的下拉列表

    我有一个包含选项列表的 HTML 下拉列表 当用户单击下拉列表时 应该会看到带有滚动条的前五个选项 我想使用 JavaScript 和 CSS 来实现这一点 由于我对这些不熟悉 请建议我如何使用滚动条显示下拉列表 以便能够滚动并从下拉列表中
  • RegOpenKeyEx() 错误

    我正在使用 Qt 和 mingw 来编写一个更改注册表的程序 但是当我调用时 RegOpenKeyEx HKEY LOCAL MACHINE SOFTWARE Microsoft Windows NT CurrentVersion Defa
  • 实体框架 Fluent API 不考虑基类属性

    EF 6 1 我们刚刚启动了一个有很多继承的项目 选定的继承数据库映射类型是每个层次结构的表 问题是 当尝试使用 add migration 生成迁移时 会引发以下错误 The foreign key component VersionId
  • 如何向 Rails 应用程序添加 IP 限制?

    有没有办法向 Rails 应用程序添加 IP 限制 某种类型的机架中间件 出于安全原因 只有设定的 IP 列表才能访问 Rails 应用程序 Thanks 使用此处描述的路由约束 http guides rubyonrails org ro
  • 对两个条件查询使用相同的谓词

    我想使用相同的数组运行一对查询Predicate 一是统计记录数 一是获取某一页记录 对我来说 这似乎是一个非常正常的用例 所以一定有一个很好的方法来做到这一点 但我还没有找到它 这是获取实体的部分 CriteriaBuilder crit
  • 检索喜欢某个 URL/网页的 Facebook 用户

    如何检索在外部网站上单击 赞 按钮的 Facebook 用户列表 假设我有一个喜欢按钮
  • 如何将 OL 中的一项向右对齐,而其他项在左侧对齐?

    我在 OL 元素中使用 Bootstrap 的面包屑类 除了面包屑信息之外 我还想在 OL 右侧添加最后更新信息 我使用了 text align right 但它不起作用 是否可以 谢谢您的帮助 这是我的代码 ol class breadc
  • 如何从字典列表创建三个单独的值列表,其中每个字典具有三个键

    我是Python新手 对于经验丰富的开发人员和编码人员来说 我的问题可能很简单 但我一直无法找到答案 我正在通过数据库查询检索一些数据 我成功地将查询返回的每一行组织为具有三个键和每个键对应值的字典 本质上 我已将查询返回的所有数据行组织到
  • ACR122u直接通讯无反应

    我正在尝试通过发送直接命令来使用 java 访问我的 ACR122u 奇怪的是我没有得到任何响应 也没有错误 这是我的代码 final static int IOCTL SMARTCARD ACR122 ESCAPE COMMAND 0x0
  • 如何关闭TextInputPanel

    我正在移植 WPF 应用程序以在 Windows 8 平板电脑上运行 我想让文本输入面板在文本框获得焦点时出现 并在文本框失去焦点时消失 让它出现是没有问题的 但我似乎无法让它关闭 我已在进程上尝试了 Kill 和 CloseMainWin
  • Android M 一次请求多个权限

    您好 我正在更新我的应用程序贾夫纳神庙 这样它就可以支持Android M设备 v 6 0及以上 有没有办法可以一次请求多个权限 例如 我想获得同时读取手机状态和位置信息的权限 使用这种方式我可以一一请求许可 但我想在应用程序开始时立即保留
  • MySQL 将字段添加到 Enum

    我必须向数据库表添加一些枚举选项 问题是 我必须对多个表和数据库执行此操作 并且它们可能并不都具有相同的枚举数据类型 是否有理由编写更改表查询或类似于将选项附加到枚举数据类型的内容 如果没有办法纯粹在 MySQL 中完成此操作 您将如何使用