1、数据表中允不允许这样的情形出现:就是表中每一个属性值都有可能重复,但是两个联合主键的值合在一起不会重复。
这是联合主键吗?
2、如果,我要创建一个Student表。ID(int),NAME(string),goal(float)。这里将ID和NAME设为联合主键,那么怎么写创建表格的sql语句。

解决方案 »

  1.   

    --1.是
    --2.
    create table student
    (
       id int,
       name nvarchar(25),
       goal float,
       constraint pk_id_name primary key(id,name)
    )
      

  2.   

    CREATE TABLE [UserRole] (
     a  INT   NOT NULL,
     b  INT   NOT NULL,             c          INT  NOT NULL, 
     PRIMARY KEY(a,b) 
    ) ;
    这是在查询分析器里运行的。
    如果手工建表的话,只需按住Ctrl键同时选择两个字段就可以设置复合主键了。
      

  3.   

    随便创建就可以了,主key有多个字段组成就可以了
      

  4.   

    这种方法我在查询语句中执行是可以生成组合主键的,但是我用C#进行编程,
    private void CreateTable1()
            {
                DataAccess DA = new DataAccess();   //封装的数据库的类            string sqltext1 = "if not exists(select name from sysobjects where name='Student' and type ='u')";
                sqltext1+="create table Student(T int not null ,ID int not null ,goal float";
                sqltext1 += "constraint pk_T_id primary key(T,ID))";            DA.ExeSQL(sqltext1);  //执行sql语句
            }能创建表,但是不能生成组合主键
    不知道是什么原因