MySQL中的ER_NO_DEFAULT_FOR_FIELD(nodejs rest request)

mrphzbgm  于 12个月前  发布在  Mysql
关注(0)|答案(3)|浏览(236)

这个错误在MySQL中是什么意思?
ER_NO_DEFAULT_FOR_FIELD -“Field doesn 't have a default value”我发现它列在这里?http://mysqlserverteam.com/improvements-to-strict-mode-in-mysql/并得到:

{
    "code": "ER_NO_DEFAULT_FOR_FIELD",
    "errno": 1364,
    "sqlState": "HY000",
    "index": 0
}

字符串
这是通过expressjs在postman请求中回复的,但这似乎是我从其中获得的第一个表。该表具有外键,因此我为外键设置了默认值,但我仍然得到了它。什么给出了?索引[0]是否暗示了名称,我发送到服务器的第一个json值?

{
    "name":"Cornwall Park Townhouses",
    "line1":"17 Brewster Rd.",
    "city":"Cornwall",
    "state":32,
    "zip":"12518",
    "category":2,
    "account_mgr":1,
    "active":1
}


这是我的json

lvjbypge

lvjbypge1#

好吧,我猜你有一个字段需要一个值,没有默认值。所以当你插入到你的表中时,如果你没有为它提供一个有效的值,MySQL会抱怨。
如果你给我们展示了你的表,也许还可以插入查询,这会更有帮助,但是看看你的字段。如果你发现一个没有默认值的字段,你没有对它做任何事情,尝试插入它并为字段传递一个值,如果这解决了问题,那么你可以为该字段添加一个默认值,或者只是继续向它发送信息。
如果你不想要一个默认值,你可以将字段设置为允许空值而不是默认值。

amrnrhlw

amrnrhlw2#

这个问题的发生是由于许多原因
1.您还没有在API中为该列输入值(因为您还没有为该列设置某些默认值),如果您设置了某些默认值,则不会出现错误,因为SQL在该列中添加了模型/迁移的默认值,而没有显式地为该列提供任何数据
1.其次(我面对)我有关联使用别名2次,我的别名是相同的,而创建关联,所以我输入的列值和SQL抛出这个错误
因此,上述错误的总体结论是,您定义了一个没有默认值的列,并且您正在将该表添加到数据库中

uqxowvwt

uqxowvwt3#

我面临着同样的问题,然后我发现我有一个字段设置为AutoIncremented,但我忘了设置自动增量,所以如果你有一个字段,需要一个值,并没有默认设置,所以设置它自动增量,主键,Nothing。

相关问题