我正在为我的应用程序设置下一个身份验证,并尝试添加电子邮件登录。我使用了下一个身份验证文档中的mysql模式,其中之一是verification_requests:
CREATE TABLE verification_requests
(
id INT NOT NULL AUTO_INCREMENT,
identifier VARCHAR(255) NOT NULL,
token VARCHAR(255) NOT NULL,
expires TIMESTAMP(6) NOT NULL,
created_at TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
updated_at TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
PRIMARY KEY (id)
);
当我尝试使用电子邮件登录时,会出现以下错误:字段"identifier"没有以下查询的默认值:
INSERT INTO `verification_requests`(`id`, `identifier`, `token`, `expires`, `created_at`, `updated_at`) VALUES (DEFAULT, DEFAULT, '1db565ee611f2ed6c5ec0dacd79ac1fd3ffb860e1a249cfc7320b5e8381c0201', '2021-01-12 03:27:31.357', DEFAULT, DEFAULT)
我收到这个错误是因为下一个身份验证试图插入信息验证请求表,但由于架构没有字段标识符的默认值,所以它抛出了错误。我找不到任何关于我们需要在mysql模式中为Identifier字段声明什么样的默认值的内容。有人能帮忙吗?
您刚才提到标识符字段不为空。为"identifier"列设置默认值。理解u使用not null
,这意味着u不应该将ur字段留空。
Nextauth verification_request"标识符";是指从登录表单传递的用户电子邮件地址。该错误通常意味着您没有将电子邮件参数传递到POST请求正文中的/api/auth/signin/email/。