好吧,我正在使用 MS SQL Server(主要与 Management Studio 一起使用),但我不知道如何知道我必须插入表中的哪些值以及自动创建哪些值?我怎么看?我的意思是 ID 通常是自动计算的,但有时您需要手动插入它们,那么我怎样才能找到/看到呢?
问问题
94 次
3 回答
1
由于您已经在 SSMS (SQL Server Management Studio) 中,请在查询窗口/选项卡中运行以下命令:
USE [DBNameWhereTableResides]
EXEC sp_help 'SchemaName.TableName'
或者
EXEC DBNameWhereTableResides.dbo.sp_help 'SchemaName.TableName'
您将看到“Identity”和“RowGuidCol”的条目,它们会告诉您 ID 是否是自动生成的。
您还将看到约束部分,第一列显示为“constraint_type”,如果未在 INSERT 中指定值,则将显示将预填充列的任何 DEFAULT 约束。
第二部分显示所有列定义,标记为“Nullable”=“yes”的列定义不需要在 INSERT 中,但如果不是 IDENTITY 字段或具有 DEFAULT,它将不会获得值并将保留如果未在 INSERT 中指定,则为 NULL。
于 2012-05-30T13:43:25.830 回答
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
于 2012-05-30T13:38:39.773 回答
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”。您不必指定“描述”,默认值为 null 必须指定任何列标记 NOT NULL,例如 PRICE
于 2012-05-30T13:44:50.150 回答