【问题标题】:column not allowed here,此处不允许列,
【发布时间】:2020-06-03 22:25:01
【问题描述】:
CREATE table Patient (
    Pat_number  Number (30),
    file_no Number (30),
    Id_Card_No Number (30),
    Pat_name varchar(30),
    Date_of_Birth Number (30),
    Blood_symbol varchar(30),
);

插入语句:

INSERT INTO Patient (Pat_Number, file_no, Id_Card_No, Pat_name,
 Date_of_Birth, Blood_symbol) 
VALUES (4352, 522, 1342876, "AhmadMahmoudAbuawad", 19800504 ,"A");

【问题讨论】:

  • sql 使用 ' 而不是 "
  • 你到底有什么疑问

标签: sql sqlcommand


【解决方案1】:

Sql 对字符串使用单引号而不是双引号

INSERT INTO Patient (Pat_Number, file_no, Id_Card_No, 
Pat_name,Date_of_Birth,Blood_symbol) 
VALUES (4352, 522, 1342876, "AhmadMahmoudAbuawad", 19800504 ,"A");

INSERT INTO Patient (Pat_Number, file_no, Id_Card_No, 
Pat_name,Date_of_Birth,Blood_symbol) 
VALUES (4352, 522, 1342876, 'AhmadMahmoudAbuawad', 19800504 ,'A');

【讨论】:

    【解决方案2】:

    首先,正如其他用户所提到的,您可以使用' 而不是"。 但是为什么要输入表格的字段? 仅当我们想要insert 一个不指向表创建字段方向的值时,我们才编写表字段。 我的意思是当您按字段定义的顺序插入值时,您不需要编写表的字段。 在这种情况下,您可以简单地做:

    INSERT INTO Patient  
    VALUES (4352, 522, 1342876, 'AhmadMahmoudAbuawad', 19800504 ,'A');
    

    【讨论】:

    • amshakur,在查询中始终键入列名实际上是非常好的做法。如果您稍后在表中添加了 1 列或更多列,您的 Insert 语句将中断,但如果您列出了所有列,则 insert 将起作用。因此,在进行插入或选择时始终列出表列是一种标准做法。
    猜你喜欢
    • 1970-01-01
    • 2020-03-31
    • 2015-07-16
    • 2021-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-15
    • 2021-10-13
    相关资源
    最近更新 更多