使用MySQL使用数据插入创建数据库

j0pj023g  于 2022-12-10  发布在  Mysql
关注(0)|答案(1)|浏览(128)

这是我收到的错误消息,你能建议一些修复方法吗?
无法将值Null插入表‘UOKA0209.dbo.SalesOrderLine’的列‘Quantity’;列不允许为Null。插入失败。
我是新手,没有太多使用这门语言的经验。
这就是我尝试过的:

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

9w11ddsr1#

如果数据库中没有为null值设置默认值,则不能使用default。因此,您可以将其更改为Nothing-->'',即使它为“Empty”也不为空--或者使用ALTERNOT 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;

这只是一个假设--您可能会在使用SQLStatus时遇到同样的问题--因此将您的查询更改为:(4789,'',''),或使用上面相同的ALTER命令更改该列,默认情况下将其设置为0。MODIFY SQLStatus INT NOT NULL DEFAULT 0;
相反--如果您确实更改了表,并将这两列的缺省值设置为0..这使您的查询变得简单得多:

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

因为QuantitySQLStatus现在将默认为0,而不需要您输入。

相关问题