什么?? 这是mysql与mssql的区别??
在 mssql  CREATE TABLE teach(t_id char(11) primary key, 
                                      s_id char(11) primary key, 
                                      r_id char(11) primary key, 
                                      t_result tinyint);这样 应该 不会出错吧  教材上 也是可以 一个表  多个 主键的 在  mysql CREATE TABLE teach(t_id char(11) primary key, 
                                      s_id char(11) primary key, 
                                      r_id char(11) primary key, 
                                      t_result tinyint);
怎么 就会 提示 错误 :  Multiple primary key defined    呢怎样解决呢

解决方案 »

  1.   

    CREATE TABLE teach(t_id char(11) primary key,  
      s_id char(11) primary key,  
      r_id char(11) primary key,  
      t_result tinyint);
    可以在SQLSERVER中运行吗?
    主键只能有一个,组成 主键的字段可以有多个
      

  2.   

    本帖最后由 ACMAIN_CHM 于 2011-03-14 11:21:22 编辑
      

  3.   

    目前还没有哪个数据库可以支持多主键。建议你看一下你的教材,如果这个语句是教材上的,则你可以把这本书扔了。
    如果你需要的是复合主键,则语句应该是
    CREATE TABLE teach(t_id char(11) ,  
    s_id char(11) ,  
    r_id char(11) ,  
    t_result tinyint,
    constraint pk_xxx primary key  (t_id,s_id,r_id)
    );
      

  4.   

    mysql:联合主键
    CREATE TABLE teach(t_id CHAR(11) ,  
        s_id CHAR(11) ,  
        r_id CHAR(11) ,  
        t_result TINYINT,
        PRIMARY KEY  (t_id,s_id,r_id)
        );
      

  5.   

    谢谢 两位阿 我自己基础不好 以为   CREATE TABLE teach(t_id CHAR(11) ,  
      s_id CHAR(11) ,  
      r_id CHAR(11) ,  
      t_result TINYINT,
      PRIMARY KEY (t_id,s_id,r_id)
      );等价于
    CREATE TABLE teach(t_id char(11) primary key,  
      s_id char(11) primary key,  
      r_id char(11) primary key,  
      t_result tinyint);
    我刚刚用 下面的方法 解决了  
    谢谢 两位