我正在尝试创建下表,但它不会创建??
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上指定列宽。
当我移开评论时,也会有不同的错误 -
我需要一切工作,因为我正在按照教程,有人可以告诉我我做错了吗?
删除 - 评论错误:
Msg 102,Level 15,State 1,Line 4语法不正确 'AUTO_INCREMENT'。
消息156,级别15,状态1,行9关键字附近的语法不正确 'KEY'。
Msg 102,Level 15,State 1,Line 10'='附近的语法不正确。
如果有人能向我解释一下发动机做了哪些事情会很棒。
答案 0 :(得分: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;
答案 1 :(得分: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]
答案 2 :(得分:1)
而不是
NOT NULL AUTO_INCREMENT,
DO
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)
)