MySQL:如何将 varchar(255) UNIQUE 列更改为 UNIQUE Text NOT NULL?

2023-12-04

当前列是 VARCHAR(255) NOT NULL,那么如何将其更改为 TEXT NOT NULL?

注意:要更改其属性类型的列是另一列的 UNIQUE KEY 组合。例如。

唯一密钥(名称、描述)

列描述当前采用 varchar(255)。无法更改,原因如下:

错误 1170 (42000):密钥规范中使用了 BLOB/TEXT 列“描述”,但没有密钥长度

我需要它是文本,否则我需要重新创建整个事情?我已经在里面得到了一些乏味而重要的数据。重新创建会很麻烦。


您打算使用 TEXT 列作为 UNIQUE KEY 的一部分吗? 这是非常低效的!不要那样做! 我强烈建议您:

  • 添加名为例如的附加列'description_hash' char(32) not null default ''
  • 存储哈希值description场进入其中。对于前。description_hash=MD5(description)
  • 将您的密钥更改为UNIQUE KEY (name, description_hash)

当然你需要保留description_hash列在您的代码中是最新的,但正如所见 - 在大多数情况下,只需要进行很少的代码更改。 或者您可以使用触发器来处理此问题。

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

MySQL:如何将 varchar(255) UNIQUE 列更改为 UNIQUE Text NOT NULL? 的相关文章

  • 根据日期顺序排名

    我的数据如下 Heading Date A 2009 02 01 B 2009 02 03 c 2009 02 05 d 2009 02 06 e 2009 02 08 我需要如下排名 Heading Date Rank A 2009 02
  • 使用Perl/DBI/MySQL/InnoDB查找外键信息

    我想以编程方式查找 MySQL 数据库中特定 InnoDB 表的外键 我正在使用 Perl 我偶然发现 dbh gt foreign key info 我刚刚尝试使用它 但似乎有点错误 它不会返回 ON DELETE 和 ON UPDATE
  • MySQL 错误 1172 - 结果包含多行

    在存储过程中运行查询时 我从 MySQL 收到此错误 错误代码 1172 结果包含多行 我理解错误 我正在做一个SELECT INTO var list 因此查询需要返回单行 当我使用LIMIT 1 or SELECT DISTINCT 错
  • 慢速自动增量重置

    我有很多表 由于某些原因 我需要在应用程序启动时调整这些表的自动增量值 我尝试这样做 mysql gt select max id from item max id 97972232 1 row in set 0 05 sec mysql
  • 如何通过子 POJO 的属性过滤复合 ManyToMany POJO?

    我有两个像这样的房间实体 Entity public class Teacher implements Serializable PrimaryKey autoGenerate true public int id ColumnInfo n
  • mysql 中的二进制、十六进制和八进制值

    我对在 mysql 数据库中使用二进制 十六进制和八进制系统非常感兴趣 首先 请给我一个建议 为什么我们在存储信息时需要它们 因为信息太多 或者为什么 另外 哪种类型的值必须存储在标记系统中 另外这里还有像 这是例子 gt SELECT 5
  • 非常大的字段会对 MySQL 数据库产生负面影响吗?

    我目前正在使用 Django 构建一个网站 并希望托管用户生物样式页面 该页面可能长达几 KB 这些字段不一定需要搜索 但在查找用户名时确实需要提供 将这些数据存储在数据库中会产生负面影响吗 如果我使用带有数据库链接的静态文本文件 我的服务
  • MySQL中如何声明变量?

    如何在mysql中声明一个变量 以便我的第二个查询可以使用它 我想写一些类似的东西 SET start 1 SET finish 10 SELECT FROM places WHERE place BETWEEN start AND fin
  • PHP MySql 百分比

    我的问题是关于百分比 我不是专家 所以我会尽力以更好的方式进行解释 我的 mysql 服务器中有一个表 假设有 700 条记录 如下所示 Name country language Birth Lucy UK EN 1980 Mari Ca
  • SQL Server 连接其他表中不存在的位置

    Service Asset AssetService Id Name Id Name AssetId ServiceId
  • 使用子查询 select 创建新表

    我试图从子查询选择创建一个新表 但出现以下错误 附近的语法不正确 SELECT INTO foo FROM SELECT DATEPART MONTH a InvoiceDate as CalMonth DATEPART YEAR a In
  • mysql自动存储记录创建时间戳

    mysql 有什么方法可以在创建记录时自动将时间戳存储在记录行中 我试图使用时间戳 数据类型 和 current timestamp 作为默认值 但后来意识到每次更新记录时都会更新 我只需要一些可以存储创建时间戳的东西 Thanks Set
  • 如何使用 BigQuery 有效地选择另一个表中匹配子字符串的记录?

    我有一个包含数百万个字符串的表 我想将其与包含大约两万个字符串的表进行匹配 如下所示 standardSQL SELECT record FROM record JOIN fragment ON record name LIKE CONCA
  • 如何使用 SQL Server 2008 将行复制到同一个表中

    A 到目前为止我的方式 sqlCommand CommandText INSERT Table1 column1 column2 column3 SELECT column1 column2 column3 FROM Table1 WHER
  • 通过触发器应用表的列权限

    现在 我有一个名为 Members 的表 其中包含内容 分为联系人数据 银行数据 现在 管理员应该能够创建 更新 删除用户 这些用户保存在另一个表中 该表只能访问管理员 用户应该获得自己的 mysql 用户帐户 管理员还应该能够设置权限 例
  • Spark SQL 中的 SQL LIKE

    我正在尝试使用 LIKE 条件在 Spark SQL 中实现联接 我正在执行连接的行看起来像这样 称为 修订 Table A 8NXDPVAE Table B 4 8 NXD V 在 SQL Server 上执行联接 A revision
  • mysql排序和排名语句

    我需要一些 mysql 语句的帮助 我的表 1 有 7 列 表 2 有 8 列 额外的列名为排名 我的语句应该是这样的 从表 1 中选择全部 然后按 用户数 排序 将其插入表 2 中并排名开始 1 2 3 等 table 1 usernam
  • 快速将列的副本添加到 MySQL 表

    我需要一种快速的方法来复制表中的 DATETIME 列并为其指定一个新名称 我的表中有一个名为 myDate 的列 名为 myResults 我需要一个查询来在名为 newDate 的表中创建一个新列 该列的数据与 myDate 列完全相同
  • 如何在 SQL Server 中连接

    我的数据库没有特定的列 因此我通过开关在查询中创建了一个列 我需要的是将此列与数据库中的另一列连接起来 select certificateDuration DurationType case when certificateDuratio
  • 如何通过SQL查询检查是否有JSON函数?

    有SQL 2016 中的 JSON 函数 https learn microsoft com en us sql t sql functions json functions transact sql例如 JSON VALUE JSON Q

随机推荐

  • 将新行添加到数据表

    我有一个DataGrid绑定到具有一张表和一列 FooTable 和 FooName 的数据库 使用以下代码 我可以绑定DataGrid to DataTable并显示数据库数据 但是当我每次添加新行时DataSet Add Click 没
  • JAXB - 具有递归依赖性的编组

    有人尝试用递归引用封送 JAXB 对象吗 我有以下课程 public class A private Long id private String name private List a aList 我想将其编组为 a a a a a a
  • 列表视图行布局的动态变化也会影响其他行

    我正在使用 ListView 每个列表元素上都有几个按钮 当单击一行上的按钮时 该按钮应该消失 单击时单击的按钮消失 没关系 问题是其他一些列表元素按钮也消失了 例如 当我单击第一个元素按钮时 它也会影响第 6 11 16 个元素中的按钮
  • 将文本添加到点阵条形图中的面板

    我尝试向具有多个面板的格子条形图中的条形添加标签 我最终得到了太多的标签 每个标签都在每个面板中 这是我的代码 library lattice data iris barchart seq 1 50 Petal Width Petal Le
  • 也可以将 swift println 日志写入文件吗?

    将日志写入文本文件也是一种简单的方法吗 我需要一个崩溃日志来分析何时出现问题 但我已经在代码中使用了 println al Use String writeToFile lt path String gt atomically lt Boo
  • 在 DevExtreme/Phonegap 上使用 FCM 推送通知

    我使用 DevExtreme 开发了我的应用程序 这是一个基于 PhoneGap 的多平台工具 现在 我尝试使用phonegap plugin push 管理推送通知 我的第一个简单目标是发送接收来自 FCM Firebase 云消息传递
  • 线性规划 - Google ortool - 错误的决策变量最终值

    我正在尝试解决线性规划问题 以下是问题的具体情况 我有一个网络流问题已转换为线性规划问题 因此 所有流量约束 例如容量 流量守恒等 都必须强制执行 我的目标是最小化成本 决策变量 我通过定义字典并在这 128 个位置中的每个位置添加决策变量
  • 如何在wildfly 8.2.0服务器中配置ssl?

    我想要我的网络应用程序的安全连接 所以 我想为我的 Wildfly 8 2 0 服务器配置 ssl 我已在独立 配置文件夹中创建并存储了 keystore 文件 keytool genkey alias foo keyalg RSA key
  • 为什么 IEnumerator 继承自 IDisposable 而非泛型 IEnumerator 则不然?

    我注意到通用的IEnumerator
  • 我应该在 JavaScript 中使用 window.navigate 还是 document.location?

    使用 JavaScript 更改当前网页位置的首选方法是什么 我见过 window navigate 和 document location 都被使用 行为上有什么差异吗 浏览器实现有差异吗 window location href URL
  • 活动如何在不扩展 AppCompatActivity 的情况下使用工具栏

    我有一个活动HomeView它已经扩展了另一个活动并且不能扩展AppCompatActivity 但HomeView需要有一个工具栏 Android 文档说任何需要工具栏的活动都必须扩展AppCompatActivity 我怎样才能绕过这个
  • 在 JavaScript 中比较字符串时,为什么一个字符串比另一个字符串大?

    我从一本书上看到这段代码 var a one var b four a gt b will return true 但它没有提到为什么 一 比 四 大 我试过c a 并且它比a和b小 我想知道 JavaScript 如何比较这些字符串 因为
  • 检查 Internet 和特定站点是否在 JavaScript/AJAX 中正常运行

    我有一个在我的设备上本地运行的页面 我想使用 AJAX 或普通 JavaScript 来检查设备是否已连接到互联网and如果某个特定站点已启动 此外 我试图弄清楚如何通过 AJAX 计算 RSS 提要中的条目数 但我以前从未围绕 RSS 进
  • 对数据库进行更改后如何保存DataSet?

    如果我有一个名为 myDs 的数据集 并且我通过在循环中直接访问来编辑其中的字段 如下所示 for int i 0 i lt myDS Tables TableName Rows Count i some function or web m
  • 核心数据在枚举时发生变异

    我在核心数据方面遇到了一个恼人的问题 我的应用程序需要从 iPhone 获取联系人并将其保存在我的数据库中 我正在尝试在后台线程中执行此操作 我使用上面的代码 self performSelectorInBackground selecto
  • Soundcloud API - 分别提取艺术家姓名和歌曲标题?

    查看 Soundcloud 文档 似乎您无法单独提取艺术家姓名和歌曲名称 或者我遗漏了什么 http developers soundcloud com docs api reference playlists IE 为了歌曲https s
  • VS2010总是重建解决方案?

    我有一个包含 40 个项目的解决方案 我最近将每个项目的输出路径重新配置为以下值 输出 对每个构建配置的 csproj 文件进行了更改 这一更改达到了预期目的 将所有已编译的程序集收集到一个文件夹中 但不寻常的副作用是 每次我点击 F5 调
  • 卡在比较器

    这是我的第一篇文章 这是针对 Java 7 的 有人可以告诉我为什么我无法访问 CompareIpaddress 类中的 first a 吗 我不知道为什么 SOF 不允许我发布这个 除非我输入更多的东西 这足够填充吗 谢谢 戈登 impo
  • 访问各种缓存和主内存的大致成本?

    谁能给我访问 L1 L2 和 L3 缓存以及 Intel i7 处理器上主内存的大致时间 以纳秒为单位 虽然这不是一个具体的编程问题 但了解这些类型的速度细节对于一些低延迟编程挑战是必要的 每个人都应该知道的数字 0 5 ns CPU L1
  • MySQL:如何将 varchar(255) UNIQUE 列更改为 UNIQUE Text NOT NULL?

    当前列是 VARCHAR 255 NOT NULL 那么如何将其更改为 TEXT NOT NULL 注意 要更改其属性类型的列是另一列的 UNIQUE KEY 组合 例如 唯一密钥 名称 描述 列描述当前采用 varchar 255 无法更