【问题标题】:Database creation with data insertion using mysql使用mysql创建带有数据插入的数据库
【发布时间】:2022-12-07 08:24:18
【问题描述】:

无法将值 NULL 插入表“UOKA0209.dbo.SalesOrderLine”的列“数量”;列不允许空值。插入失败。

这是我收到的错误消息,您能提出任何修复建议吗?我对此很陌生,并且没有太多使用这种语言的经验。

INSERT INTO [SalesOrderLine] ([SOLID],[Quantity],[SQLStatus])
VALUES
  (1896,default,default),
  (1789,default,default),
  (3789,default,default),
  (4789,default,default),
  (5789,default,default);
  

这是我试过的。

【问题讨论】:

  • 您是否设置了默认值?因为你试图插入值默认但明确表示您的专栏数量必须是“非空”
  • 您能否确认您使用的是什么数据库:SELECT @@version; 返回什么?

标签: mysql sql


【解决方案1】:

如果数据库中没有为 null 值设置默认值,则不能使用 default。因此,您可以将其更改为什么都没有 --> '' 即使它是“空”,它也不是 NULL -- 或者使用 ALTER 为您的 NOT NULL 字段(数量)设置默认值

INSERT INTO UOKA0209.dbo.SalesOrderLine (`SOLID`, `Quantity`, `SQLStatus`) 
VALUES 
(1896,'',default),
(1789,'',default),
(3789,'',default),
(4789,'',default),
(5789,'',default);

或者改变你的表:

 ALTER TABLE UOKA0209.dbo.SalesOrderLine 
     MODIFY Quantity INT NOT NULL DEFAULT 0;

【讨论】:

    猜你喜欢
    • 2014-11-21
    • 1970-01-01
    • 2016-03-25
    • 1970-01-01
    • 2014-04-17
    • 2015-08-23
    • 1970-01-01
    • 1970-01-01
    • 2012-09-21
    相关资源
    最近更新 更多