如何在MySQL数据库中创建组合键

2023-12-23

我正在 mysql 服务器上工作。我在其中创建了一个名为 Question 的表。该表的列/属性是(课程、主题、年份、问题) 我想创建一个由(课程+主题+年份)组成的主键(或复合键)。即,对于特定的课程+科目+年份组合,只能有一个问题。只有一行包含(课程+科目+年份)的组合,不可能创建另一行。 我已经做到了:

primary key(course,subject,year);

但它不起作用。我仍然可以使用相同的课程、主题、年份组合创建两行。

谁能告诉我如何创建复合键属性???


语法是CONSTRAINT constraint_name PRIMARY KEY(col1,col2,col3)例如 ::

CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)

如果您在创建表时编写上面的示例,则上面的示例将起作用,例如 ::

CREATE TABLE person (
   P_Id int ,
   ............,
   ............,
   CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
);

要将此约束添加到现有表中,您需要遵循以下语法

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

如何在MySQL数据库中创建组合键 的相关文章

  • 从 .frm 文件恢复 mysql 数据库

    我每周都会倾倒所有桌子以获得备份 但后来我明白它只是存储表的 frm文件 它不显示表的 MYD 和 MYI 文件 所以我只有我的数据库的 frm 文件 而且我的数据库是innodb 那么我可以用数据库中的数据获取我的数据库吗 是的 这是可能
  • 如何将 MySql 表导出/转储到文本文件中,包括字段名称(也称为标题或列名称)

    在 MySql 的解释器中 很容易将表及其字段名称转储到屏幕上 似乎没有简单的方法可以将表导出到制表符分隔或 CSV 输出文件包括它的列标题 我尝试仅使用 SQL 或 Linux 命令行来完成此操作 而不用其他语言编写程序 谢谢 将查询通过
  • ON DUPLICATE KEY UPDATE 的自动增量过多

    我有一个包含列的基本表 id 主要是AI 名称 唯一 etc 如果唯一列不存在 则插入该行 否则更新该行 INSERT INTO pages name etc VALUES bob randomness ON DUPLICATE KEY U
  • 计算行数并仅获取表中的最后一行

    我有一张桌子叫employeexam其结构和数据是这样的 id course id employee id degree date 1 1 3 8 2013 01 14 2 2 4 15 2013 01 14 3 2 4 17 2013 0
  • 无法在 Centos 上安装 php-mysqli 扩展

    我正在尝试将 mysqli 扩展安装到 php yum install php mysqli 我收到下一个错误 Transaction Check Error file usr share mysql charsets Index xml
  • MySQL聚合函数问题

    在下面的例子中 为什么min 查询返回结果 但是max 查询没有 mysql gt create table t id int a int Query OK 0 rows affected 0 10 sec mysql gt insert
  • php 连接池 mysql [重复]

    这个问题在这里已经有答案了 我打算使用MYSQL 有可用的连接池扩展吗 或者说连接的正常做法是什么 是不是到处都用这个啊 mysqli connect localhost xxx xxx test 人们正常使用吗mysql connect
  • 如何在 MariaDB 或 MySQL 中创建文本类型的外键?

    我有两张桌子 CREATE TABLE first table my id TEXT 6 NOT NULL content VARCHAR 30 NOT NULL PRIMARY KEY my id 6 Engine InnoDB char
  • 在mysql中使用smallint数据类型而不是int真的可以节省内存吗?

    在 mysql 表中使用 Smallint 数据类型而不是常规 int 是否真的可以提高内存使用率 无论如何 硬件不会为所有数据分配完整的 64 位字大小吗 如果它不分配完整的字 那么我们是否会看到由于必须从内存中分配的 64 位字中解析出
  • 从多个表插入表

    嘿 我有一个连接表 连接两个不相关的表 两个表都有ID的 我需要选择ID从每个表中使用WHERE具有不同的值 例如这就是我的看法 INSERT INTO c aID bID VALUES SELECT a ID WHERE a Name M
  • 编写 MySQL 查询以获得所需结果

    我正在使用 MySQL 数据库 风险因素有四种类型 严重 高 中 低 表包含如下数据 id uaid attribute value time risk factor 1 1234 Edge Exist 16123 NONE 2 1234
  • 休眠复合键

    是否有必要将composite id映射到class 可以这样吗
  • Sql查询增加多个项目的项目价值价格

    我想编写 Sql 查询来按百分比增加商品价格 场景是 在表中 我有 3 列 ID 商品名称 价格 Example If item Name is T shirt Increase price by 10 item Name is Jins
  • MYSQL 连接结果集在 IN () 期间在 where 子句中擦除结果?

    重磅编辑 最初的问题是基于对 IN 如何处理联接结果集中的列的误解 我认为 IN some join some column 会将结果列视为列表并循环遍历每一行 事实证明它只查看第一行 因此 改编后的问题是 MySQL 中是否有任何东西可以
  • 在 WHERE 子句中使用 mysql SUM()

    假设我有这张桌子 id cash 1 200 2 301 3 101 4 700 我想返回第一行 其中之前所有现金的总和大于某个值 例如 如果我想返回第一行 其中之前所有现金的总和大于 500 则应该返回到第 3 行 如何使用 mysql
  • 如何在会话过期后自动更新数据库而不刷新我的页面

    您需要刷新或单击该代码 然后它才会转到索引页面 并且在会话过期后更新数据库之前 如何让会话过期后自动更新数据库 使用户活跃度为0 而无需刷新或点击页面 idletime 3600 after 1hr the user gets logged
  • Mysql Workbench 错误“系统错误:61”

    我几个月前安装了mysql 不过 我确实记得曾经成功地使用过 mysql workbench 今天我尝试启动它并收到以下错误 在 读取初始通信数据包 时失去与 MySQL 服务器的连接 系统错误 61 在文本编辑器中打开 etc mysql
  • Hibernate统计打印HQL:null

    我是使用休眠的新手 我打开了统计信息 与普通的 HQL 查询一起 我得到了许多这样的统计信息 INFO Statistics HQL null time 1724ms rows blah 有人可以以任何方式帮助我为什么null查询大约需要
  • 如何修复在 AWS RDS 上锁定表名称创建 (errno: -1) 的 InnoDB 损坏?

    TIP Do not run ALTERMySQL Workbench 中用于 标准 TCP IP over SSH 连接的语句 最好是进入服务器并运行ALTER从那里 这样 如果您失去与服务器的连接 ALTER仍应完成其工作 我正在尝试在
  • 从条件表中获取 WHERE 子句的条件

    我创建了以下简单的DataModel 我用以下数据填充了表格 1 桌子Customer INSERT INTO test customer CustomerName Country RegistrationDate VALUES Custo

随机推荐

  • C++ 字符串代码点和代码单元有什么好的解决方案吗?

    在 Java 中 字符串有以下方法 length charAt codePointCount codePointAt C 11有std string a u8 很烫烫的一锅汤 but a size 是char数组的长度 无法索引unicod
  • 云外 Windows Azure 表的替代方案

    我正在开发一个 NET 应用程序 它需要在 Azure 和常规 Windows Servers 2003 上运行 它需要存储几GB的数据 而SQL Azure对我来说太贵了 所以我将在云版本中使用Azure表 您能否推荐一种存储解决方案 该
  • TCPDF - 页码不完全右对齐

    我正在使用 TCPDF 生成 pdf 我的问题是 Footer 方法中的以下行 this gt Cell 0 10 Page this gt getAliasNumPage this gt getAliasNbPages T false R
  • 如何使用谷歌的“你是说吗?”来实现Python拼写检查器

    我正在寻找一种在 python 中创建一个函数的方法 在该函数中传递一个字符串 然后它返回它是否拼写正确 我不想查字典 相反 我希望它检查 Google 的拼写建议 这样 名人名字和其他各种专有名词将被视为拼写正确 到目前为止 这就是我所处
  • unique_ptr 的 static_pointer_cast 的替代方案

    我明白使用static pointer cast with unique ptr将导致所包含数据的共享所有权 换句话说 我想做的是 unique ptr foo fooFactory do something for a while uni
  • 如何在android上加载本地库?

    我有一个 so 库 是我从另一个 APK 中提取的 我已将其复制到项目中的 libs armeabi 位置 在我的课堂上 我正在加载它 static System loadLibrary mylib 该应用程序崩溃了 08 03 07 52
  • Android 中同一应用程序的多个实例

    如何在从图库应用程序内部共享图像时使用已运行的应用程序 它总是创建已经运行的应用程序的单独实例 我在 Whatsapp 应用程序中观察到同样的问题 是的 另一个用例是当您单击通知时 如果应用程序已经在后台 它将启动一个新实例 using a
  • CUDA 运行时 API 错误 38:未检测到支持 CUDA 的设备

    情况 我有一个 2 gpu 服务器 Ubuntu 12 04 我将 Tesla C1060 与 GTX 670 交换 然后我在 4 2 上安装了 CUDA 5 0 之后我编译了除 simpleMPI 之外的所有示例 没有错误 但当我跑步时
  • Java 8 mapToInt (mapToInt(e -> e)) 到底是如何提高性能的?

    我正在读 Java 8 Lambdas 一书 在某个时候 作者说 尽可能使用原始专用函数是个好主意 因为 性能优势 他在这里指的是mapToInt mapToLong等 问题是说实话我不知道性能从何而来 让我们考虑一个例子 Consider
  • 如何将 TTF 文件转换为 OTF 格式?

    我需要使用 font face功能和我的字体都是TrueType TTF 格式 那么如何将TTF转换为OpenType OTF 格式 如果您使用的是 Linux 则可以使用 FontForge 它可以通过 Python 编写脚本 usr b
  • 每次使用时在复合组件中获取相同的“componentType”实例

    您好 有一个奇怪的问题 我正在使用Composite Component这是我写的 我从之前使用 CC 的支持 bean 中获取了值 componentType bean 除了展示代码之外 我不知道如何更好地描述这一点 我会尽量简短地介绍一
  • Python pickle 的首选(或最常见)文件扩展名

    有时 我见过 pickle pck pcl and db对于包含 Python pickles 的文件 但我不确定最常见或最佳实践是什么 我知道后三个扩展还用于其他用途 相关问题是 使用 REST API 在系统之间发送 pickle 时首
  • 基于学说的自定义 symfony 路由

    我需要使用 symfony 2 进行动态路由 其中 将 slug 参数添加到 url 中并与数据库中的页面相关 每个页面都有一个自己的slug 其内容存储在数据库中 我读了这篇文章高级路由 http www symfony project
  • CouchDB 0.11主要新特性有哪些

    CouchDB 0 11 版本中有哪些值得学习的功能 有哪些资源可以了解这些新发展 Features 通过重写和虚拟主机规则提供良好的 URL 您可以串联或单独使用 意见可以参考any文档 ID 因此当您查询时include docs tr
  • 有没有一种简单的方法可以从 Windows Phone 中的 URI 获取查询字符串参数?

    我目前正在使用自定义 URI 方案来验证使用 OAuth 的用户 为此 我需要从查询字符串中获取某些参数的值 有没有一种简单的方法来获取这些信息 或者是我使用 REGEX 或其他字符串操作的唯一选择 我之前发现过对 ParseQuerySt
  • Apache Derby 嵌入式模式部署

    我有一个 Java 应用程序 它有一个嵌入式 Derby 数据库 尽管没有休眠 该应用程序使用以下属性 datasource driverClassName org apache derby jdbc EmbeddedDriver data
  • 为什么已经弹出的范围会影响后续范围中的 check-sat 时间?

    一般问题 我已经注意到好几次了push pop已经弹出的范围似乎会影响check sat在后续范围的需要 也就是说 假设一个程序具有多个 可能任意嵌套 push pop 作用域 每个作用域都包含一个 check sat 命令 此外 假设第二
  • 涉及闪亮地图生成的问题

    有朋友可以帮我解决以下问题 我在下面插入三个可执行代码 第一个使用生成一个地图sftnetworks包裹 显示两个地点之间的路线 在本例中 定义了生成地图的两个位置 from c df spec clust 1 c Longitude df
  • 如何指定要从私有 github 存储库中提取的 gem?

    我在 Github 上有一个我想使用的私有存储库 我将我的应用程序部署到 Heroku 如何指定私有存储库作为我的 gemfile 上的源 我想仅仅说这些是不够的 gem mygem git gt my github address 我发现
  • 如何在MySQL数据库中创建组合键

    我正在 mysql 服务器上工作 我在其中创建了一个名为 Question 的表 该表的列 属性是 课程 主题 年份 问题 我想创建一个由 课程 主题 年份 组成的主键 或复合键 即 对于特定的课程 科目 年份组合 只能有一个问题 只有一行