Mysql 为什么这张桌子不能创造

Mysql 为什么这张桌子不能创造,mysql,database,Mysql,Database,我正在尝试创建下表,但它不会创建 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

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

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;
当前错误为:

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

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

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

删除--comments时出错:

Msg 102,15级,状态1,第4行附近语法不正确 “自动增量”

Msg 156,15级,状态1,第9行关键字附近语法不正确 “钥匙”

Msg 102,15级,状态1,第10行“=”附近的语法不正确


如果有人能向我解释引擎是做什么的,那就太好了。

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;

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;

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

不能在数据类型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]

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

不能在数据类型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]
而不是

NOT NULL AUTO_INCREMENT,

并将
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)
)
而不是

NOT NULL AUTO_INCREMENT,

并将
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)
)


解决方案在错误消息中。你能告诉我你的意思吗?看起来像是MySQL表定义(不是sql server)谢谢Mitch Wheat,是的,它是MySQL,我不知道有什么不同。那么我该如何切换它呢?解决方案在错误消息中。你能告诉我你的意思吗?看起来像是MySQL表定义(不是sql server)谢谢Mitch Wheat,是的,它是MySQL,我不知道有什么不同。那么我该如何切换它呢?感谢它的创建,对于我第一次尝试创建的表,这会失去任何功能吗?因为正如我所说的,我正在遵循一个教程,我不想在结束时让它不起作用。尽管这在SQL Server中不起作用,因为您的默认日期无效。编辑:只在评论中看到OP实际使用MySql。@Pomster教程可能是错误的,或者是来自其他版本的MySql。检查此处的“int”数据类型:感谢它的创建,对于我第一次尝试创建的表,这是否会丢失任何功能,因为正如我所说的,我正在遵循一个教程,我不想结束并使其不起作用。尽管这在SQL Server中不起作用,因为默认日期无效。编辑:只在评论中看到OP实际使用MySql。@Pomster教程可能是错误的,或者是来自其他版本的MySql。检查这里的“int”数据类型:谢谢,对于我第一次尝试创建的表,这会失去任何功能吗?因为正如我所说的,我正在遵循一个教程,我不想走到最后,让它无法工作。谢谢,对于我第一次尝试创建的表,这会失去任何功能吗?因为正如我所说的,我正在遵循一个教程,我不想走到最后,让它不工作谢谢,这会失去任何功能,对于我第一次尝试创建的表,因为正如我所说的,我正在遵循一个教程,我不想走到最后,让它不工作谢谢,这会失去任何功能,对于我第一次尝试创建的表,因为正如我所说的,我正在遵循一个教程,我不想走到最后,让它不起作用