【问题标题】:MySQL Unhandled Rejection Error, No DefaultMySQL 未处理的拒绝错误,无默认值
【发布时间】:2018-07-23 19:10:14
【问题描述】:

我正在使用 React 社交网络框架,注册后我一直收到此错误。

Unhandled rejection Error: ER_NO_DEFAULT_FOR_FIELD: Field 'bio' doesn't have a default value
    at Query.Sequence._packetToError (/var/www/example.com/public_html/node_modules/mysql/lib/protocol/sequences/Sequence.js:47:14)
    at Query.ErrorPacket (/var/www/example.com/public_html/node_modules/mysql/lib/protocol/sequences/Query.js:77:18)
    at Protocol._parsePacket (/var/www/example.com/public_html/node_modules/mysql/lib/protocol/Protocol.js:278:23)
    at Parser.write (/var/www/example.com/public_html/node_modules/mysql/lib/protocol/Parser.js:76:12)
    at Protocol.write (/var/www/example.com/public_html/node_modules/mysql/lib/protocol/Protocol.js:38:16)
    at Socket.<anonymous> (/var/www/example.com/public_html/node_modules/mysql/lib/Connection.js:91:28)
    at Socket.<anonymous> (/var/www/example.com/public_html/node_modules/mysql/lib/Connection.js:502:10)
    at Socket.emit (events.js:182:13)
    at addChunk (_stream_readable.js:283:12)
    at readableAddChunk (_stream_readable.js:264:11)
    at Socket.Readable.push (_stream_readable.js:219:10)
    at TCP.onread (net.js:638:20)
    --------------------
    at Protocol._enqueue (/var/www/example.com/public_html/node_modules/mysql/lib/protocol/Protocol.js:144:48)
    at Connection.query (/var/www/example.com/public_html/node_modules/mysql/lib/Connection.js:200:25)
    at bcrypt.hash (/var/www/example.com/public_html/models/db.js:18:10)
    at /var/www/example.com/public_html/node_modules/bcrypt-nodejs/bCrypt.js:631:3
    at process._tickCallback (internal/process/next_tick.js:61:11)

我该如何解决这个问题?

【问题讨论】:

  • 欢迎来到 Stack Overflow。我们需要更多信息来帮助回答您的问题。您说您在“注册后”收到错误消息。你是如何注册的,这个错误出现在哪里?即在您的命令行、浏览器等中?如果这发生在您的命令行中,您输入的确切命令是什么?如果它在您的浏览器中,您是否对该浏览器足够熟悉以打开其网络控制台并向我们显示请求,包括其参数?
  • @RichieThomas 我通过更改默认值解决了这个问题。我目前正在与另一个问题作斗争,但与这个问题无关。
  • 我只是喜欢人们问该怎么做的问题,但错误消息告诉他们确切地出了什么问题以及为什么..
  • @N.B.抱歉,我只是问,因为我是使用数据库的新手。
  • 来吧.. 你知道,我们知道你还没有读过这个错误,因为你可能认为你不会得到它。现在不要采取错误的方式 - 阅读错误,因为你修复了它,你可以得到它。这是一种不好的懒惰。你应该是懒惰的,但在阅读消息时不会。祝你未来好运。

标签: mysql sql database reactjs phpmyadmin


【解决方案1】:

您很可能正在(未指定的)表中插入一行,但您忘记指定列 bio 的值。

因此,您尝试在bio 列上插入一个null 值,而该列很可能定义为not null

解决方案?要么:

  1. 在插入之前在bio 列上设置一些值。

  2. 更改表定义并为bio 列添加default 值。

【讨论】:

    猜你喜欢
    • 2018-12-24
    • 2017-06-08
    • 2016-08-10
    • 1970-01-01
    • 2015-04-24
    • 1970-01-01
    • 1970-01-01
    • 2020-11-29
    相关资源
    最近更新 更多