问题描述 投票:0回答:3
这个错误在mysql中意味着什么?

ER_NO_DEFAULT_FOR_FIELD –“字段没有默认值” 我发现它列在这里?
http://mysqlserverteam.com/improvements-to-strict-mode-in-mysql/ 并得到:

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

通过expressjs在邮递员请求中回复,但这是我似乎从中得到的第一个表。该表有外键,因此我为外键设置了默认值,但我仍然明白。是什么赋予了?索引 [0] 是否表示名称,即我发送到服务器的第一个 json 值?

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

这是我的json

mysql sql json node.js node-mysql
3个回答
6
投票
我的猜测是您有一个需要值且没有默认值的字段。 因此,当您插入表时,如果您没有为其提供有效值,MySQL 会抱怨。

如果您向我们展示了您的表格并且可能还插入了查询,那么会更有帮助,但请查看您的字段。如果您发现没有默认值并且没有对其执行任何操作,请尝试插入其中并传递该字段的值,如果这解决了问题,那么您可以为该字段添加默认值,或者只是继续发送信息到它。

如果您不想要默认值,您可以将字段设置为允许 null 而不是默认值。


0
投票
出现此问题的原因有很多

    您尚未在 API 中输入该列的值(因为您尚未为该列设置某些默认值),如果您设置了某些默认值,则不会出现错误,因为 sql 会在该列中添加模型/迁移的默认值而无需明确提供该列的任何数据
  1. 其次(我面临的)我已经使用别名关联了两次,并且在创建关联时我的别名是相同的,所以我输入列的值,而sql抛出了这个错误
因此,上述错误的总体结论是您定义了一个没有默认值的列,并且您正在数据库中添加该表


-1
投票
我遇到了同样的问题,然后我发现我有一个设置为自动增量的字段,但我忘记设置该自动增量所以如果你有一个需要值并且没有默认值的字段所以将其设置为自动增量,主键,不为空。

© www.soinside.com 2019 - 2024. All rights reserved.