SQL Server提示‘unsigned’附近语法错误的问题求助
解决SQL Server创建表时的语法错误:Incorrect syntax near 'unsigned'
你遇到的错误是因为SQL Server不支持MySQL中的语法特性,具体问题和修正方案如下:
错误原因
- SQL Server 不支持
unsigned关键字,这是MySQL特有的整数类型修饰符,SQL Server的整数类型(如int)本身包含非负范围,若需强制非负可通过CHECK约束实现。 - SQL Server中自增列不使用
AUTO_INCREMENT,而是采用IDENTITY(起始值, 增量)语法,比如IDENTITY(1,1)表示从1开始,每次自增1。
修正后的创建表语句
CREATE TABLE messages_server ( Id int NOT NULL IDENTITY(1,1), SentTime datetime, MessageRead BIT, Content varchar(8000), MessageCategory varchar(255), MessageUser varchar(255), PRIMARY KEY (Id) )
可选:添加非负约束
如果需要确保Id始终为正整数,可以给Id列添加CHECK约束:
CREATE TABLE messages_server ( Id int NOT NULL IDENTITY(1,1) CHECK (Id > 0), SentTime datetime, MessageRead BIT, Content varchar(8000), MessageCategory varchar(255), MessageUser varchar(255), PRIMARY KEY (Id) )
内容的提问来源于stack exchange,提问作者AlksAndTrsh
相关产品推荐
相关产品推荐

