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”数据类型:谢谢,对于我第一次尝试创建的表,这会失去任何功能吗?因为正如我所说的,我正在遵循一个教程,我不想走到最后,让它无法工作。谢谢,对于我第一次尝试创建的表,这会失去任何功能吗?因为正如我所说的,我正在遵循一个教程,我不想走到最后,让它不工作谢谢,这会失去任何功能,对于我第一次尝试创建的表,因为正如我所说的,我正在遵循一个教程,我不想走到最后,让它不工作谢谢,这会失去任何功能,对于我第一次尝试创建的表,因为正如我所说的,我正在遵循一个教程,我不想走到最后,让它不起作用