Jon*_*han 0 sql t-sql sql-server
我将列添加到表中:
RedMarkItemsId (IDENTITY(1,1) NOT NULL PRIMARY KEY)
TaskId (UNIQUEIDENTIFIER)
CreationDate (DATETIME)
CreatedBy (UNIQUEIDENTIFIER)
Run Code Online (Sandbox Code Playgroud)
我想创建如下列:
ALTER TABLE RedMarkItems ADD Item1 BIT DEFAULT(0)
Run Code Online (Sandbox Code Playgroud)
但是当我尝试插入一些值时:
INSERT INTO RedMarkItems
VALUES (
'9B093907-2072-4F59-A55C-0003CE89EF9E',
GETDATE(),
'6074CAEA-7A8E-4699-9451-16C2EAF394EF')
Run Code Online (Sandbox Code Playgroud)
它抛出错误:
列名或提供的值数与表定义不匹配.
如果我设置DEFAULT(0)为新列,为什么我会收到此错误?
表创建脚本:
CREATE TABLE RedMarkItems
(
RedMarkItemsId INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
TaskId UNIQUEIDENTIFIER,
CreationDate DATETIME,
CreatedBy UNIQUEIDENTIFIER
)
Run Code Online (Sandbox Code Playgroud)
这段SQL无效:
INSERT INTO RedMarkItems
VALUES (
'9B093907-2072-4F59-A55C-0003CE89EF9E',
GETDATE(),
'6074CAEA-7A8E-4699-9451-16C2EAF394EF')
Run Code Online (Sandbox Code Playgroud)
如果未提供insert的所有列,则需要显式指定目标列.由于您只分配3列,您可能需要:
INSERT INTO RedMarkItems(
RedMarkItemsId,
TaskId,
CreationDate
) VALUES (
'9B093907-2072-4F59-A55C-0003CE89EF9E',
GETDATE(),
'6074CAEA-7A8E-4699-9451-16C2EAF394EF'
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
206 次 |
| 最近记录: |