【发布时间】:2022-12-14 09:30:27
【问题描述】:
我第一次尝试为 MS SQL 数据库创建表。 我的查询如下所示:
CREATE TABLE Products (
ProductID INT(4) UNSIGNED AUTO_INCREMENT,
PRIMARY KEY (ProductID)
);
我查看了如何创建表并在 w3schools 此处找到了有关 SQL 数据类型的资源。它声明我可以在整数后定义一个大小,但它会抛出以下错误:
列 ProductID 的数据类型无效。 UNSIGNED 关键字也被标记为“‘UNSIGNED’附近的语法不正确”。
我继续谷歌并在这里搜索这个确切的错误,但无法快速找到答案,这很奇怪,因为这似乎是一个非常常见的错误?
从整数中删除大小属性有效,但我想定义列宽。
我试图在 MS SQL 数据库中创建一个表,但查询会抛出错误,如详细信息中所述。
【问题讨论】:
-
int具有固定大小 - 32 位。如果你想要一个 4 位整数,请使用numeric(4,0) -
你确定这是sql-server吗?我想,基于 AUTO_INCREMENT,它不是。
-
整行无效。没有
int(4),没有AUTO_INCREMENT,也没有UNSIGNED。您是否尝试使用其他数据库的教程?在 SQL Server 中,自动生成的 ID 字段将是ID INT IDENTITY或ID BIGINT IDENTITY -
我建议您对 SQL Server 类型使用 official documentation。没有无符号的 32 位整数类型。您可以在 SQL Server 中指定
ProductID INT IDENTITY。 -
这似乎是 MySQL,而不是 SQL-Server。相应地设置标签。
标签: sql-server