Field ‘id‘ doesn‘t have a default value 错误解决方法

举报
SHQ5785 发表于 2024/06/17 13:49:42 2024/06/17
【摘要】 在做项目开发过程中,实现新建表结构数据新增,前端点击新增操作后,发现后台报错信息如下:Field 'id' doesn't have a default value后经过走查发现,表结构中存在id字段,但是写表时并未传参id,且id字段在设计表结构时本意是自增字段,无需前端传值。通过查看表结构,发现id字段并未设置为自增字段!通过设置id字段为自增字段,解决以上错误信息!由于长时间没有使用数...

在做项目开发过程中,实现新建表结构数据新增,前端点击新增操作后,发现后台报错信息如下:Field 'id' doesn't have a default value
后经过走查发现,表结构中存在id字段,但是写表时并未传参id,且id字段在设计表结构时本意是自增字段,无需前端传值。通过查看表结构,发现id字段并未设置为自增字段!通过设置id字段为自增字段,解决以上错误信息!

由于长时间没有使用数据库了,或者把密码改完之后就忘了数据库密码,不能正常进入数据库,也无法修改密码,下面介绍一个简单的常用修改密码方式:

1.首先找到和打开mysql.exemysqld.exe所在的文件夹(在你所安装的Mysqlbin文件夹下),复制路径地址。

2.打开cmd命令提示符,进入上一步mysql.exe所在的文件夹。

3.输入命令 mysqld --skip-grant-tables 回车,此时就跳过了mysql的用户验证。注意输入此命令之后命令行就无法操作了,此时可以再打开一个新的命令行。请注意:在输入此命令之前先在任务管理器中结束mysqld.exe进程,确保mysql服务器端已结束运行再进行此操作。

  1. 然后直接输入mysql,不需要带任何登录参数直接回车就可以登录上数据库。

  2. 输入show databases; 可以看到所有数据库说明成功登录。

  3. 其中mysql库就是保存用户名的地方。输入 use mysql; 选择mysql数据库。

  4. show tables;查看所有表,会发现有个user表,这里存放的就是用户名,密码,权限等等账户信息。

  5. 输入select user,host,password from user; 来查看账户信息。

  6. 更改root密码,输入update user set password=password('root') where user='root' and host='localhost';在这里将密码改为root.

  7. 再次查看账户信息,select user,host,password from user; 可以看到密码已被修改。

  8. 退出命令行,重启mysql数据库,用新密码尝试登录。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。