【问题标题】:In my sql set condition for table?在我的 sql 表中设置条件?
【发布时间】:2009-08-22 22:30:27
【问题描述】:

在mysql中我可以设置两个字段的组合永远不能相同的条件吗??? 示例:
id-1
名称-abc
A级
现在,名称='abc' 和等级='A' 的另一个条目无法添加到该表中????

【问题讨论】:

    标签: mysql database


    【解决方案1】:

    您可以从这两列创建composite primary key,但这没什么意义,因为表已经有一个 ID 字段,而且两个同名的人肯定可以有相同的成绩吗?例如:

    CREATE TABLE student_grades ( 
    id int unsigned not null, 
    name varchar not null, 
    grade varchar not null, 
    PRIMARY KEY(name, grade)); 
    

    【讨论】:

      【解决方案2】:

      您还可以添加辅助UNIQUE 约束:

      CREATE TABLE student_grades ( 
       id int unsigned not null, 
       name varchar(10) not null, 
       grade varchar(10) not null, 
       PRIMARY KEY(id),
       UNIQUE KEY(name, grade)
      );
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-12-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-07
        • 1970-01-01
        • 1970-01-01
        • 2014-01-30
        相关资源
        最近更新 更多