CREATE TABLE ujkjk
(
uid NUMBER PRIMARY KEY,
uname VARCHAR2(20) NOT NULL
);报ORA-00904: : 标识符无效
Rows affected (0) Time (0.000 s)服务启动登录都成功 就是创建不了表 

解决方案 »

  1.   

    uid是oracle的保留字,不能用作列名或其它标识符。
    类似于rowid,uid是一个伪列,表示当前用户id的一个整数
    select uid from dual;
    下面从视图中查询与上面的一样
    select user_id from user_users;你可以使用userid或user_id等标识符。
      

  2.   

    楼主运气不好啊,uid都碰到了
      

  3.   

    加双引号吧,或者换名
    CREATE TABLE ujkjk
    (
    "uid" NUMBER PRIMARY KEY,
    uname VARCHAR2(20) NOT NULL
    );
      

  4.   

    还是改成userid,username吧,从可读性来说也好些.
      

  5.   

    uid是oracle的保留字,不能用作列名或其它标识符。
    还是改成userid,username吧,从可读性来说也好些.
      

  6.   

    如果非要用uid记得加双引号的同时把uid大写.不然回头引用的时候会比较麻烦.
    CREATE TABLE ujkjk
    (
    "UID" NUMBER PRIMARY KEY,
    uname VARCHAR2(20) NOT NULL
    );
      

  7.   


    /*
    引用楼主 happingcn 的回复
    CREATE TABLE ujkjk
    (
    uid NUMBER PRIMARY KEY,
    uname VARCHAR2(20) NOT NULL
    );报ORA-00904: : 标识符无效
    Rows affected (0) Time (0.000 s)服务启动登录都成功 就是创建不了表--还是改成userid,username吧,从可读性来说也好些.*/学习一下
      

  8.   

    oracle 关键字不能作为表字段