MySQL中的ER_NO_DEFAULT_FOR_FIELD(nodejs rest request)

mrphzbgm  于 2024-01-05  发布在  Mysql
关注(0)|答案(3)|浏览(326)

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

  1. {
  2. "code": "ER_NO_DEFAULT_FOR_FIELD",
  3. "errno": 1364,
  4. "sqlState": "HY000",
  5. "index": 0
  6. }

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

  1. {
  2. "name":"Cornwall Park Townhouses",
  3. "line1":"17 Brewster Rd.",
  4. "city":"Cornwall",
  5. "state":32,
  6. "zip":"12518",
  7. "category":2,
  8. "account_mgr":1,
  9. "active":1
  10. }


这是我的json

lvjbypge

lvjbypge1#

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

amrnrhlw

amrnrhlw2#

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

uqxowvwt

uqxowvwt3#

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

相关问题