插入mysql系统库mysql的user表报错

一、报错:#1364 - Field ‘ssl_cipher’ doesn’t have a default value

想往user表里插入一行记录,为了图方便直接复制了原有的记录,复制出来的SQL如下:
INSERT INTO user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Create_user_priv, Event_priv, Trigger_priv, Create_tablespace_priv, ssl_type, max_questions, max_updates, max_connections, max_user_connections, plugin, authentication_string, password_expired, is_role, default_role, max_statement_time) VALUES (‘127.0.0.1’, ‘root’, ‘*F6719020B50FF8AAA6C8206E9674E82FA2A86083’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘’, ‘0’, ‘0’, ‘0’, ‘0’, ‘’, ‘’, ‘N’, ‘N’, ‘’, ‘0.000000’)
结果一执行,报错如下:
#1364 - Field ‘ssl_cipher’ doesn’t have a default value
查看user表结构
在这里插入图片描述发现ssl_cipher、x509_issuer、x509_subject非空且没赋默认值,而复制出来的SQL并没有对这三个字段进行出来。

二、解决方法如下:

1.使用GRANT语句(也是网上大部分文章所写的)

GRANT USAGE ON . TO ‘user’@‘host’ IDENTIFIED BY PASSWORD ‘password’;
(将user、host、password替换成实际的)
GRANT ALL PRIVILEGES ON user.* TO ‘user’@‘host’;
(赋权)
FLUSH PRIVILEGES;

2. 对SQL语句中ssl_cipher、x509_issuer、x509_subject进行处理

INSERT INTO user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Create_user_priv, Event_priv, Trigger_priv, Create_tablespace_priv, ssl_type, ssl_cipher, x509_issuer, x509_subject, max_questions, max_updates, max_connections, max_user_connections, plugin, authentication_string, password_expired, is_role, default_role, max_statement_time) VALUES
(‘192.168.1.1’, ‘root’, ‘*F6719020B50FF8AAA6C8206E9674E82FA2A86083’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘’, ‘’, ‘’, ‘’, 0, 0, 0, 0, ‘’, ‘’, ‘N’, ‘N’, ‘’, ‘0.000000’);
即加入这三项并不赋值(’'两个单引号占位)。

3.修改sql_mode

修改sql_mode的方法请参考我的另一篇文章

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

likangyu996

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值