例如,我必须编制一个注册表,其中包含:
我想强制确保学生在特定的学期内不能多次注册某个科目.因此,约束应涉及student_id,subject和学期时间列.
我仍然不确定如何实现这一目标.有帮助吗?
可能重复:
如何为MySQL中的多列指定唯一约束?
我是MySQL新手并且有一个表格,我正在转换为MySQL,其中包含帐户的"订单指南",这些帐户是帐户通常订购的所有项目.我需要防止在一个帐户的项目(产品编号)的情况下插入已经在订单指南表中,这取决于两个字段的唯一性的组合.订单指南表中数据的简化示例:
uID Account_Num Prod_Num
0 1000 2000
1 1000 2010
2 1000 2020
3 1000 2030
4 1001 2000
5 1001 2010
6 1001 2020
7 1001 2021
Run Code Online (Sandbox Code Playgroud)
我不能只使"Account_Num"和"Prod_Num"字段唯一.我需要一种设置规则或方法来指定"Account_Num"和"Prod_Num"的组合是否为唯一允许插入的方法.uID字段是唯一的自动增量字段.这可能吗?
伙计们,我在数据库中有那个表
-------------------------------------------------------------
ID | COMPANY_ID | NAME | DESCRIPTION | BARCODE
-------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
我想限制唯一的条形码应该使用相同的 companyID .... 那么如何在 mysql 中做到这一点?
注意:我可以在表中输入多个 company_id
我有一个包含多个列的表,我想确保两个特定的列没有相同的值.实际上我不想让用户多次报告错误.在插入报告之前,我想确保同一个用户没有报告相同的内容,因此不应该有一个具有类似用户ID和内容ID的行.我的想法是发送一个查询来检查它是否返回结果,如果没有,则插入报告.但必须有更好的方法.
谢谢你的帮助.
我知道我可以使两列唯一键,但这并不是我想要的。
我想例如,如果col1='1', col2='2'那不能再有一行col1='1', col2='2',但完全有可能做到以下几点:
+--------+--------+
| col1 | col2 |
+--------+--------+
| 1 | 1 |
| 1 | 2 |
| 2 | 1 |
| 2 | 2 |
+--------+--------+
Run Code Online (Sandbox Code Playgroud)
虽然这是不可能的:
+--------+--------+
| col1 | col2 |
+--------+--------+
| 1 | 1 |
| 1 | 1 |
+--------+--------+
Run Code Online (Sandbox Code Playgroud)
同时创建两个唯一键不是一个选择,col1='1', col2='1'并且col1='1', col2='2' col1是相同的,并且如果两个都是唯一键则不允许这样做。