错误1364:1364:字段'ssl_cipher'没有默认值

Eae*_*Eae 10 mysql insert

ERROR 1364: 1364: Field 'ssl_cipher' doesn't have a default value .
Run Code Online (Sandbox Code Playgroud)

SQL语句:

INSERT INTO `samedaycrm4`.`users` (`Host`, `User`, `Password`) VALUES ('%', 'Bonnie', '*BB71B8925EED8E5387A872A38E566BFCB0F78071')
Run Code Online (Sandbox Code Playgroud)

我试图确定错误的原因错误1364:1364:字段'ssl_cipher'没有默认值..?

提前致谢...

小智 6

ssl_cipher表中的列已标记non-null,但您的INSERT查询未提供值.MySQL会尝试在这些情况下分配默认值,但是您的列没有给出一个.

您需要为表设置默认值ssl_cipher,或者更改表,使其ssl_cipher未标记为non-null

  • 您还可以提供解决方案和解释。 (3认同)
  • 您还可以使用类似以下内容:INSERT INTO用户(Host,User,ssl_cipher,x509_issuer,x509_subject)VALUES('localhost','myUser','','',''); (2认同)

Uda*_*ale 6

//这是因为mysql数据库中的用户表的内部结构(mysql.user)有许多管理权限列,它们接受'N'或'Y'值而不是NULL值.不通过INSERT方法在用户添加语法中分配这些值将为表提供空值,因此发生错误1364.//而不是使用GRANT语法将不给用户mysql管理权限>使用mysql;

mysql> GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE
       -> ON database.*  //for all tables in DATABASE database
       -> TO 'user'@'localhost'
       -> IDENTIFIED BY 'password';
Run Code Online (Sandbox Code Playgroud)

//用户将被创建