【问题标题】:How can I write insert command correctly in SQL Server? [closed]如何在 SQL Server 中正确编写插入命令? [关闭]
【发布时间】:2021-12-26 06:58:39
【问题描述】:

我正在尝试编写一些 SQL 代码。我有一个表,我想向该表添加值Tasks,但我收到了一个错误

无效的列名“经理”

超过Task_Name。我将Id 标识为使用IDENTITY(1,1) 自动递增,并且我有一个BIT 类型值作为默认值0。

insert的表达式应该怎么写?

创建代码如下:

CREATE TABLE Tasks
(
    ID INTEGER IDENTITY(1,1) NOT NULL PRIMARY KEY,
    Task_Name VARCHAR(100),
    Situation BIT DEFAULT 0
);

这是Insert Into的代码:

INSERT INTO (ID, Task_Name, Situation) 
VALUES (1, "Manager");

【问题讨论】:

  • 您只为 3 列提供了 2 个值。
  • 我尝试了一切。一开始我的情况是“默认 0”。所以我首先为此写了 Null。我做错了什么?@ rkosegi
  • 正如您所提到的,您有一个身份列 (id),在插入过程中您不能将其包含在您的字段中。或者您必须让带有 IDENTITY_INSERT 的表接受操作标识列。同样正如 rkosegi 所说,您的字段和值的数量必须相等。

标签: sql-server


【解决方案1】:
INSERT INTO Tasks (Task_Name) values ('Manager')
  • 除非转identity_insert on,否则不要指定ID(列标记为identity列)
  • 不要包含列名以插入默认值
  • 使用' 引用字符串

【讨论】:

  • 感谢您的回答。已解决。@user2864740
【解决方案2】:
   INSERT INTO Tasks (Task_Name, Situation) VALUES ('Task_NameValue', 1);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-21
    • 2021-06-19
    相关资源
    最近更新 更多