alter table tablename add primary key (field1,....)--主键可为复合的,但一个表只能有一个主键

解决方案 »

  1.   

    alter table table1 add constraint pk_table1_name primary key (name)
      

  2.   

    主键可复合的是什么意思呢?
    我的目的只是想让name字段是唯一的.不允许重复..unique...
    不知道把它设成主键是不是合适.还是有其它方法?
    (我已经把id字段设成index,和primary key了)
    先谢谢楼上兄弟..
      

  3.   

    假如,有个记录日志表,就可以把ID与LogTime(日志时间)作为主键,这个就是复合主键
      

  4.   

    是不是设成主键后的字段自动会unique,?如果发现有重复的数据库那么mysql就会报错,对吗?
      

  5.   

    alter table tablename add primary key (field1,field2,...,fidldn)
    这个是复合主键,但不能存在两个如:
    alter table tablename add primary key (field1);
    alter table tablename add primary key (field2);
    当执行到第二行时,就报错了
      

  6.   

    建议大家使用phpmyadmin工具吧,进行mysql管理比较方便,不用直接敲sql语句。
      

  7.   

    主键的意思是mysql的内部是用该键作为行识别,并排序的。
    如果没有数据表没有主键,系统内部会隐藏设置一个主键。
    如果你要使两个以上的字段的值唯一,
    此时,最多只能用一个primary key,其他的应该用unique属性,可以起到唯一识别的作用,不唯一的数据输入会导致报错,当你想系统设置多于一个primary key字段,系统也会报错!
    增加值唯一的字段可用:
    alter table tablename add unique (field);