0

我正在尝试创建下表,但它不会创建??

use [TagHolderDB]
CREATE TABLE TBLSearchTags 
(
  TagID int(11), --NOT NULL AUTO_INCREMENT,
  Tagterm varchar(255) NOT NULL DEFAULT '',
  Tagcounter int(11) NOT NULL DEFAULT '1',
  TaglastSearch datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY (TagID),
  --KEY Tagterm  (Tagterm)
) --ENGINE=TagHolderDB;

当前错误是:

消息 2716,级别 16,状态 1,行 2 列、参数或变量 #1:无法在数据类型 int 上指定列宽。

当我移开评论时也会出现不同的错误-

我需要这一切来工作,因为我正在学习一个教程,有人能告诉我我做错了什么吗?

当我删除 -- 评论时出现错误:

消息 102,级别 15,状态 1,第 4 行“AUTO_INCREMENT”附近的语法不正确。

消息 156,级别 15,状态 1,第 9 行 关键字“KEY”附近的语法不正确。

消息 102,级别 15,状态 1,第 10 行 '=' 附近的语法不正确。

如果有人可以向我解释 ENGINE 的作用,那就太好了。

4

3 回答 3

2

Int 数据类型没有长度。

尝试这个:

use [TagHolderDB]
CREATE TABLE TBLSearchTags 
(
  TagID int, --NOT NULL AUTO_INCREMENT,
  Tagterm varchar(255) NOT NULL DEFAULT '',
  Tagcounter int NOT NULL DEFAULT '1',
  TaglastSearch datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY (TagID),
  --KEY Tagterm  (Tagterm)
) --ENGINE=TagHolderDB;
于 2012-05-14T08:41:44.443 回答
1

我认为这个错误是不言自明的。

您不能在数据类型 int 上指定列宽。

一个 SQL 整数总是占用 4 个字节的存储空间,范围从 -2147483648 到 2147483647。

所以替换int(11)int.

CREATE TABLE [dbo].[TBLSearchTags](
    [TagID] [int] IDENTITY(1,1) NOT NULL,
    [Tagterm] [varchar](255) NOT NULL,
    [TagCounter] [int] NOT NULL CONSTRAINT [DF_TBLSearchTags_TagCounter]  DEFAULT ((1)),
    [TaglastSearch] [datetime] NOT NULL CONSTRAINT [DF_TBLSearchTags_TaglastSearch]  DEFAULT ('1753-01-01'),
 CONSTRAINT [PK_TBLSearchTags] PRIMARY KEY CLUSTERED 
(
    [TagID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
于 2012-05-14T08:42:26.933 回答
1

代替

NOT NULL AUTO_INCREMENT,

IDENTITY(1,1) NOT NULL

并替换int(11)int

use [TagHolderDB]
CREATE TABLE TBLSearchTags 
(
  TagID int IDENTITY(1,1) NOT NULL,
  Tagterm varchar(255) NOT NULL DEFAULT '',
  Tagcounter int NOT NULL DEFAULT '1',
  TaglastSearch datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY (TagID)
)
于 2012-05-14T08:42:50.833 回答