如何建这样的表.请指教.谢谢,
id int型 自增长类型. 
name char 型 ,我在insert的时候.id自增长.name附一个字符串.但是不能重复.譬如:我第一次给name列赋值:'a'这个字符的时候.录入成功.如果第二次再录入'a'这个字符的时候出错.
也就是说name里面的值是不能重复的.id是自增长的.该怎么做呢>?
请指教.谢谢!

解决方案 »

  1.   

    --  have a try.mysql>create table t(id int auto_increment primary key,name char(20),unique(name));
      

  2.   

    id自增长好说,int NOT NULL AUTO_INCREMENT PRIMARY KEY,这样就能定义id为主键,自增长了,至于name不能重复,在程序里做一个条件判断就行了,不一定要在数据库里解决!
      

  3.   

    mschen(Co-ok) 
    谢谢.
    用这个方法是不能输入重复输入了.可是他的null属性也就丢掉了.譬如.我两个name字段都不赋值的话是不行的.
      

  4.   

    --  可以呀.mysql>create table t(id int auto_increment primary key,name char(20) null,unique(name));
      

  5.   

    我刚刚试验了...不行哦
    mysql> insert into t  (name)values('');
    ERROR 1062 (23000): Duplicate entry '' for key 2
      

  6.   

    create table t(id int auto_increment primary key,name char(20) null unique);
    这样写肯定行,你上面说的不就是正确结果吗,因为你已经插入一个空值了,所以你第二次插同样空值的时候才会提示ERROR 1062 (23000): Duplicate entry '' for key 2
    Query OK, 0 rows affected (0.55 sec)
      

  7.   

    CREATE TABLE tablename 
    (
      id int auto_increment,
      name char(100) primary key
    )
      

  8.   

    mysql>create table t(id int auto_increment,name char(20) default null,primary key(id),unique(name));