【问题标题】:What is the syntax error in Create table statement?Create table 语句中的语法错误是什么?
【发布时间】:2012-05-31 20:26:22
【问题描述】:

如果这太容易了,我很抱歉,但我很累,似乎无法靠自己解决这个问题。谁能看出这个命令有什么问题?

create table Users (
   user_id NUMBER(4) PRIMARY KEY ,
   username VARCHAR2(16) NOT NULL,
   password VARCHAR2(16) NOT NULL,
   first_name VARCHAR2(20) NOT NULL,
   last_name VARCHAR2(20) NUT NULL,
);

编辑:谢谢大家。问题解决了。这是最后一个逗号和 NUT:P

【问题讨论】:

  • 甲骨文,对吗?如果是这样,我认为 NUMBER 不需要 (4)
  • 您要在哪个数据库软件中创建此表?您收到什么错误消息?
  • 你在最后一列声明之后多了一个逗号。您还在最后一列中添加了“NUT”而不是“NOT”!
  • 哦,NUT 是疯狂的词:)(最后一行)
  • 另外,您似乎有一个错字——“NUT”而不是“NOT”

标签: sql database create-table


【解决方案1】:

这样做

create table Users (
    user_id numeric(4) PRIMARY KEY ,
    username VARCHAR(16) NOT NULL,
    password VARCHAR(16) NOT NULL,
    first_name VARCHAR(20) NOT NULL,
    last_name VARCHAR(20) NOT NULL
);

我变了:

  • number 到 numeric
  • 删除了最后一个逗号
  • varchar2 到 varchar
  • NUT 到 NOT

【讨论】:

  • 我用的是Oracle Express Edition,你能告诉我我用的和你用的有什么区别吗?
  • 这里的varchar2和varchar有什么区别
  • @AliBassam:Here is an overview。您可以使用您的数据类型。您没有指定正在使用的数据库引擎,NUMBER 和 VARCHAR2 并非在所有数据库引擎上都可用。由于您使用的是 Oracle,因此这些类型也很好。
【解决方案2】:

试试

create table Users (
    user_id NUMBER PRIMARY KEY ,
    username VARCHAR2(16) NOT NULL,
    password VARCHAR2(16) NOT NULL,
    first_name VARCHAR2(20) NOT NULL,
    last_name VARCHAR2(20) NOT NULL
);

【讨论】:

    【解决方案3】:

    尝试删除最后一个逗号并将NUT 更改为NULL。

    【讨论】:

      【解决方案4】:

      我假设这是针对 SQL SERVER 的?

         CREATE TABLE Users ( 
              user_id INT PRIMARY KEY 
          ,   username VARCHAR(16) NOT NULL
          ,   [password] VARCHAR(16) NOT NULL
          ,   first_name VARCHAR(20) NOT NULL
          ,   last_name VARCHAR(20) NOT NULL 
          ) 
      

      【讨论】:

      • 错误是正确的语法在第 4 行的 '[password] VARCHAR(16) NOT NULL , first_name VARCHAR(20) NOT NULL , ' 附近使用
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-08
      • 2018-06-06
      • 2021-07-29
      • 1970-01-01
      • 1970-01-01
      • 2015-01-08
      相关资源
      最近更新 更多