如何在 MySQL 中强制复合唯一性?

2023-12-20

我遇到了一种情况,我想确保表的复合元素是唯一的。例如:

Table (
  id char(36) primary key,
  fieldA varChar(12) not null,
  fieldB varChar(36) not null
)

我不希望 fieldA 和 fieldB 成为复合主键,因为它们经常更改,并且“id”在整个系统中用作参考。

fieldA 和 fieldB 本身并不唯一,但它们的组合必须是唯一的。例如,{{1, Matt, Jones}, {2, David, Jones}, {3, Matt, Smith}} 是有效数据,但 {{1, Matt, Jones}, {2, Matt, Jones }} 不会是。


您可以在这两个字段上添加 UNIQUE 键约束:

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

如何在 MySQL 中强制复合唯一性? 的相关文章

  • 如果 Row1 = 值 1,则更新其他行

    我有一个小的 php 脚本 用于访问 mySql 数据库 我想在数据库中插入新记录之前查看该数字 值 1 是否等于数据库中的记录 这也在第 1 行 所以我想 查看传入的电话号码是否等于数据库中的电话号码 如果是这样 则必须保持电话号码相同的
  • 如何在 MySQL 中测试 Select for Update

    我正在表演SELECT FOR UPDATE或 InnoDB 表的行级锁定 我的目的是只有一个请求可以读取同一行 因此 如果两个用户同时请求相同的数据 其中只有一个人获取数据 即第一个触发查询的人 但是我如何测试锁定是否已放置 因为我正在通
  • MySQL中如何声明变量?

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

    我试图将一个真实的数组插入到 postgresql 数组中 该表的定义是 String sqlTable CREATE TABLE IF NOT EXISTS ccmBlock sampleId INTEGER block REAL 插入内
  • 在 jQuery AJAX 成功中从 MySql 获取特定响应

    好吧 我有这个 ajax 代码 它将在 Success 块中返回 MySql 的结果 ajax type POST url index php success function data alert data My Query sql SE
  • 用 pandas DataFrame 替换 mysql 数据库表中的行

    Python 版本 2 7 6 熊猫版本 0 17 1 MySQLdb 版本 1 2 5 在我的数据库中 PRODUCT 我有一张桌子 XML FEED 表 XML FEED 很大 数百万条记录 我有一个 pandas DataFrame
  • 如何在 SEQUELIZE (nodeJS) 中创建触发器?

    我正在尝试使用sequelize 创建一个触发器 主要思想是创建一个实例CONFIG创建后USER USER MODEL module exports function sequelize DataTypes var User sequel
  • SQL Server 连接其他表中不存在的位置

    Service Asset AssetService Id Name Id Name AssetId ServiceId
  • MySQL/PDO::quote() 尽管使用 PDO::PARAM_INT 参数,但仍在整数周围加上引号

    无论我传递给什么值 数据类型对 它都会出现 pdo gt quote value type 它总是将其引用为字符串 echo pdo gt quote foo PDO PARAM STR foo as expected echo pdo g
  • 如何检测Mysql/innodb中的死锁?

    我知道在 Innodb 中使用事务时不可避免地会发生死锁 并且如果应用程序代码正确处理死锁 它们是无害的 正如手册所说 只需再试一次 所以我想知道 如何检测死锁 死锁是否会发出一些特殊的 mysql 错误号 如果重要的话 我正在使用 PHP
  • 如何通过Elasticsearch模糊匹配电子邮件或电话?

    我想通过 Elasticsearch 对电子邮件或电话进行模糊匹配 例如 匹配所有以以下结尾的电子邮件 gmail com or 匹配所有电话开头136 我知道我可以使用通配符 query wildcard email gmail com
  • 如何从 SQL Server 2008 查询结果中删除“NULL”

    我有一个包含 59 列和超过 17K 行的表 很多行都有NULL在某些列中 我想删除NULL以便查询返回空白 而不是NULL 我可以运行一些更新功能来替换所有NULL with 使用 SQL Server 2008R2 Management
  • 日期语句之间的 JPQL SELECT [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我想将此 SQL 语句转换为等效的 JPQL SELECT FROM events WHERE events date BETWE
  • mysql自动存储记录创建时间戳

    mysql 有什么方法可以在创建记录时自动将时间戳存储在记录行中 我试图使用时间戳 数据类型 和 current timestamp 作为默认值 但后来意识到每次更新记录时都会更新 我只需要一些可以存储创建时间戳的东西 Thanks Set
  • 学说迁移后备

    我们正在使用原则迁移 当迁移包含多个操作并且其中一个操作失败时 通常会出现问题 例如 如果迁移添加了 5 个外键 其中第 5 个失败 而字段长度不同 则修复字段错误并重新生成迁移不会not修复整个问题 而现在出现一个与 4 个密钥已存在有关
  • 如何使用 BigQuery 有效地选择另一个表中匹配子字符串的记录?

    我有一个包含数百万个字符串的表 我想将其与包含大约两万个字符串的表进行匹配 如下所示 standardSQL SELECT record FROM record JOIN fragment ON record name LIKE CONCA
  • 从Django中具有外键关系的两个表中检索数据? [复制]

    这个问题在这里已经有答案了 This is my models py file from django db import models class Author models Model first name models CharFie
  • Mysql插入表后不显示右单引号(’)

    我有一个名为 测试 的表 我插入了一行 其中包含unicode字符右单引号 0x2019在名称字段中 SQL insert into Testing values Sno Name Address insert into Testing v
  • 如何获取自定义订单的结果? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 代替ASC or DESC 我希望我的查询结果采用特定的自定义顺序 例如 如果我想要的结果不是 A B C D 而是 P A L H 该怎么
  • SQL 更新 - 更新选定的行

    我正在使用 SQL Server 2008 我有一个名为MYTABLE有两列 ID STATUS 我想编写一个存储过程来返回其记录STATUS是 0 但是这个存储过程必须更新STATUS返回行数为 1 如何在单个查询中执行此选择和更新操作

随机推荐

  • 带有子报表的行后 SSRS 分页符(在矩形中)

    我花了几个小时寻找 简单 的解决方案 我有一个报告 SSRS 2008 R2 其中包含按 saleslineid 分组的行的 tablix 对于每个销售线 我想显示一个包含规格的子报告 然后显示销售线的组件 但我希望组件列表在新页面上开始
  • 具有 ServiceStack 路由回退和 Api 前缀的 Vue.js 路由器历史记录模式

    每个客户端路由都以哈希开头 如何在 Vue Router 中启用历史记录模式而不干扰 api 路由 另外 我不想以 api 开始我的路线 客户端路由不适用于 Config HandlerFactoryPath 设置为 api 的情况 有办法
  • 在 value="" 属性中打印 JS 变量

    我正在尝试实现一个具有动态值的 Paypal 按钮 例如 当我输入 value 300 00 时 该按钮工作正常 但是 如果我按照我的方式操作 该按钮将无法正常工作 变量价格是 JS 变量 它保存我需要放入 Paypal 按钮的信息 这是有
  • 如何获取拖放到控制台应用程序窗口上的项目的文件路径?

    我希望能够让用户将文件拖放到我的控制台应用程序的窗口上 这样他们就不会被迫将文件拖放到应用程序的图标 或链接 或者更糟糕的是在控制台中编写命令行 如何获取拖放到应用程序窗口中的文件的路径列表 你可以只听键盘的声音 将文件拖到控制台窗口时 窗
  • 使用 VBA 将 Round 函数插入当前单元格

    我试图让将 Round 函数插入到许多已经有公式的单元格中变得更容易 例如 如果单元格 A1 具有公式 b1 b2 使用这个宏后 我想要读取单元格内容 Round b1 b2 每个单元格中的公式都不相同 因此b1 b2部分必须是任何东西 我
  • React Router 4 - componentWillReceiveProps() 不触发

    我正在使用 React Router 4 当我使用渲染参数 componentWillReceiveProps 渲染组件时 它不会第一次触发 因此我需要单击两次才能将道具发送到组件 我这样渲染 const CartRoute props g
  • 如何生成具有指数分布(具有均值)的随机数?

    我正在尝试生成均值等于 1 的指数分布随机数 我知道如何获取均值和标准差正态分布的随机数 我们可以通过normal mean standard deviation 但我不知道如何获得指数分布的随机数 谁能帮我这个 With C 11该标准实
  • 编译时递归和条件

    我正在阅读以下回复 在没有循环或条件的情况下打印 1 到 1000 https stackoverflow com questions 4568645 printing 1 to 1000 without loop or condition
  • 如何使代码块输出在 quarto Revealjs 演示文稿中水平滚动

    我之前使用 R 中的 xaringan 包做了一个可滚动代码块输出的演示 如下图所示 我想在 quarto Revealjs 演示文稿中制作相同的可滚动代码块输出 有人知道如何在四开演示文稿中做到这一点吗 scrollable code c
  • 在magento中通过电子邮件ID获取有关客户的信息

    我想通过电子邮件 ID 获取客户信息 因此我在控制器中创建一个方法 内容如下 public function showAction customer email email protected cdn cgi l email protect
  • Solr suggest - 如何将 solr suggest 定义为不区分大小写

    我的建议 拼写检查器 返回区分大小写的答案 我用它来自动完成 狗和狗返回不同的短语 我的建议定义如下 在 solrconfig 中
  • 强制 jQuery Mobile 重新评估动态插入内容的样式/主题

    客观的 通过加载 HTML 内容 ajax 将其插入 DOM 让 jQuery Mobile 应用主题样式 Problem 内容已插入 但缺少 jQuery Mobile 主题 Code ajax success function html
  • 从 vb 确定 Url 是绝对的还是相对的 [重复]

    这个问题在这里已经有答案了 我试图在 vb 中确定 URL 是绝对的还是相对的 我确信必须有一些库可以做到这一点 但我不确定是哪个 基本上我需要能够分析字符串 例如 相对 路径 和或 http www absolutepath com su
  • Swift 3 iMessage 扩展无法打开 URL

    我正在创建一个 iOS 应用程序 iMessage 扩展 根据苹果的例子 https developer apple com library prerelease content samplecode IceCreamBuilder Int
  • Cypress - 检查文件是否已下载

    我在尝试检查文件是否已下载时遇到了一些问题 单击按钮生成 PDF 文件并开始下载 我需要检查它是否有效 赛普拉斯能做到吗 赛普拉斯 插件 index js const path require path const fs require f
  • 为什么我不能在抽象 C# 类上创建抽象构造函数?

    我正在创建一个抽象类 我希望我的每个派生类都被迫实现构造函数的特定签名 因此 如果我想强迫他们实现一种方法 我做了我会做的事情 我做了一个抽象的方法 public abstract class A abstract A int a int
  • Typescript 中带有 Observable 的 XMLHttpRequest

    当我尝试管理上传文件的 XMLHttpRequest 调用的结果时 我遇到了 tslint 问题 这是我目前在互联网上找到的方法 Files upload request makeFileRequest url string files A
  • 如何使用 CURLOPT_HEADERFUNCTION 读取单个响应标头字段?

    我正在实现一个 C 程序 它需要从读取远程文件的大小Content Length标题 当Content Length在响应标头中发送 我查看了 libcurl 的文档 到目前为止我能想到的最好的方法是回调函数CURLOPT HEADERFU
  • 在 Access VBA 中实施正则表达式以提高密码复杂性

    我目前正在开发一个需要密码验证的项目 因为最终用户可以更改其登录密码 但没有验证来确保给定的密码符合规定 这有点棘手 因为我对使用 VBA 和正则表达式相当陌生 而且我找不到我正在寻找的答案 该项目有一个 Access 2010 前端 虽然
  • 如何在 MySQL 中强制复合唯一性?

    我遇到了一种情况 我想确保表的复合元素是唯一的 例如 Table id char 36 primary key fieldA varChar 12 not null fieldB varChar 36 not null 我不希望 field