我要建一个表为USER(id,no,user,memo,place),id为自动加1编号的,然后主键为(id,no)我的sql是这样写的
create table USER
(
  id int(10) identity(1,1),
  no varchar(20) not null,
  user varchar(50) not null,
  memo varchar(50),
  place varchar(20),
  constraint primary key(id,no)
);
请问我这样写有什么问题吗?

解决方案 »

  1.   

    int型是不要给的大小的
    要给的大小的只有字符型(索引的字符型)的,
      

  2.   

    USER是关键字、不能做表名。也没有id int(10) identity(1,1)这个语法
      

  3.   

    要想自动加1编号,你需要建个sequence。
      

  4.   

    你这是SQL server的版本
    Oracle里面没有 identity(1,1),要用sequence来实现。
      

  5.   

    那我把表明改掉
    oracle里sequence应该怎么建呀?create table PC_USER 

      id int,(如何将id设置为自动编号,自增1,sequence如何建呢?)   
      no varchar(20) not null, 
      pc_user varchar(50) not null, 
      memo varchar(50), 
      place varchar(20)
    );主键不能设置两个字段的,所以我干脆就不设主键了 
      

  6.   

    1、create sequence seq_1 start with 1 increment by 1    --编号从1开始并自动加1  
    2、序列实在使用时体现出来。建表时id int,就行了。
    3、使用:insert into t(id) values(seq_1.nextval);
    4、主键可以设置多个字段。
      

  7.   

    那可以这样设置多字段的主键吗?
    "constraint primary key(id,no)"请问有关于oracle数据库的电子书介绍吗?我上网下了好几个都不是我想要的,要么讲得太高深都看不懂,要么介绍的不是用sql语句的  NNNN.....感谢啊o(∩_∩)o
      

  8.   

    那设置多个字段主键可以这样子吗?
    constraint primary key(id,no)

    还有请问能不能介绍本oracle的电子书...我下载了好几本,但不是讲得太高深就是没用sql的...nnnnn...感谢啊o(∩_∩)o..
      

  9.   

    可以设置多主键
    constraint 名字 primary key (ID, NO)
      

  10.   

    constraint 名字 primary key (ID, NO)中间那个“名字”做什么用的啊?一定要加的吗?
      

  11.   

    http://download.csdn.net/user/vc555
    下载SQL电子书
      

  12.   

    建议去看看oracle语句,你明显是拿T-SQL在写PL-SQL