我在尝试创建 MySQL 表时遇到此错误。
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1253 COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'utf8mb4'' in /home/vagrant/Projects/test_herbert/wp-content/plugins/TestHerbertPlugin/vendor/illuminate/database/Connectors/MySqlConnector.php on line 40( ! ) PDOException: SQLSTATE[42000]:
这是破坏它的代码。当我取出它时,项目工作正常。
use Illuminate\Database\Capsule\Manager as Capsule;
Capsule::schema()->create('tasks-test', function($table) {
$table->increments('id');
});
感谢任何设法帮助我的人。
最佳答案
This is the same answer I posted on Getting an error when using COLLATE in a Mysql query
确保您使用的归类与您的字符集兼容。 (例如,UTF8 的排序规则与 UTF8MB4 不兼容)
使用此语句检查您的字符集和排序规则(来自 MySQL Database Character Sets and Collation )
SELECT DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'db_name';
如果它们不同,您必须重新配置您的数据库。
关于php - MySQL 1253 COLLATION 错误 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36136724/