我正在使用MS SQL Server(主要使用Management Studio),我不知道如何知道我必须插入表中的值以及自动创建的值?我怎么看? 我的意思是ID通常是自动计算的,但有时你需要手工插入它们,那么我究竟能找到/看到它?
答案 0 :(得分:1)
由于您已经在SSMS(SQL Server Management Studio)中,请在查询窗口/选项卡中运行以下命令:
USE [DBNameWhereTableResides]
EXEC sp_help 'SchemaName.TableName'
OR
EXEC DBNameWhereTableResides.dbo.sp_help 'SchemaName.TableName'
您将看到“Identity”和“RowGuidCol”的条目,它们将告诉您该ID是否是自动生成的。
您还将看到Constraints的一个部分,第一列显示为“constraint_type”,它将显示任何DEFAULT约束,如果INSERT中未指定该值,它将预填充colummn。
第二部分显示所有列定义,标记为“Nullable”=“yes”的列不需要在INSERT中,但不是IDENTITY字段或具有DEFAULT,它将不会获得值如果未在INSERT中指定,则将保持为NULL。
答案 1 :(得分:0)
您可以使用此查询查找所有表和id列
SELECT s.name + '.' + t.name AS TableName, c.name AS ColumnName,
IDENT_SEED(s.name + '.' + t.name) AS Seed,
IDENT_INCR(s.name + '.' + t.name) AS Increment
FROM sys.tables t
INNER JOIN sys.schemas s ON t.schema_id = s.schema_id
INNER JOIN sys.columns c ON c.object_id = t.object_id
AND c.is_identity = 1
答案 2 :(得分:0)
CREATE TABLE Product
(
id int IDENTITY, 'this will be automatically inserted
product_name VARCHAR(30),
description varchar(200),
price money NOT NULL
)
INSERT Product (product_name) VALUES ('Strawberry', 1200);
注意:我没有指定" id"在我的插入。 您不必指定" description",默认值为null 必须指定任何列标记NOT NULL,例如PRICE