【问题标题】:Can't create new table无法创建新表
【发布时间】:2013-04-06 18:40:54
【问题描述】:

我是 SQL Server 2000 的新手,遇到了一个问题。我想创建一个新表,但遇到错误消息,代码如下:

create table Buku
(
Kode_Buku char(5) constraint PK_Kode_Buku Primary Key,
Judul_Buku varchar(10)not null,
Nama_Pengarang varchar(30) not null,
Penerbit varchar(30),
Kota_Terbit varchar(30) default,
Tahun_Terbit varchar(4) default,
Bahasa varchar(4) check,
Harga_Jual money,
)

这是错误代码:

服务器:消息 170,级别 15,状态 1,第 1 行
第 1 行:“Buku”附近的语法不正确。

【问题讨论】:

  • 您是 SQL Server 2000 的“新手”?您知道 SQL Server 2000 已有 13 年历史,并且即将结束扩展支持,对吧?有什么理由不想使用自那时以来发布的 4 个主要版本(2005、2008、2008 R2、2012)中的任何一个?

标签: sql-server-2000


【解决方案1】:

你有三个问题:

  1. 您在多个情况下都使用default 但未指定任何内容
  2. 您有一个 check,但没有指定任何内容
  3. 您的最后一列定义是 money,,后面带有逗号

现在,这些都不会导致您收到确切的错误消息,因此您可能没有告诉我们更多信息(create table 位之前是否有更多代码?) ,但这些小语法问题过于本地化,无法在这种问答格式中使用。

编辑

我刚刚在 SQL Server 2000 实例上运行了它,它工作得很好:

create table Buku 
(
  Kode_Buku char(5) constraint PK_Kode_Buku Primary Key, 
  Judul_Buku varchar(10) not null, -- added space here
  Nama_Pengarang varchar(30) not null, 
  Penerbit varchar(30), 
  Kota_Terbit varchar(30), -- removed default here
  Tahun_Terbit varchar(4), -- removed default here
  Bahasa varchar(4), -- removed check here
  Harga_Jual money -- removed comma here
)

因此,我不确定您的做法有何不同,但根据您在问题中提供的信息,我无法获得您所看到的错误消息。如果您仍然收到此代码的错误消息(并且只有此代码),您需要提供更多信息,例如@@VERSION,您使用什么接口将创建表语句提交到 SQL Server,等等

【讨论】:

  • 在创建表之前没有更多的代码,它只是不起作用。我试图通过谷歌找到答案,但我没有得到任何答案。也许是因为我使用的是旧版本的sql?还是在创建数据库时我必须设置一些东西?
  • 非常感谢您的帮助,现在我可以毫无错误地编译它了。很抱歉花了这么长时间才回复。再次感谢您。
猜你喜欢
  • 2012-12-26
  • 1970-01-01
  • 2018-05-12
  • 2015-06-14
  • 2014-01-05
  • 2018-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多