CREATE TABLE _20081124(id smallint IDENTITY(0,1) PRIMARY KEY,code varchar(8)CLUSTERED)1、code允许重复,但查询时一般以code分组,所以想把CLUSTERED索引建在这个字段,但是语法报错
Incorrect syntax near the keyword 'CLUSTERED'.
为什么?
2、这个id字段其实没用,但这样表就没主键了,有必要加这个看似多余的主键吗?

解决方案 »

  1.   


    CREATE TABLE t_20081124(id smallint IDENTITY(0,1),code varchar(8)) create clustered index i_code on t_20081124(code) 这个id字段其实没用,但这样表就没主键了,有必要加这个看似多余的主键吗?这个id还是需要的,因为没有这个id后,你的表中就有了重复的行了(因为你的code是允许重复的),这样的话以后对表的操作等等都会带来一些问题。只不过不用这个id作为主键就行了。在sql server中允许表没有主键