Нелегальная смесь сопоставления в Laravel - PullRequest
0 голосов
/ 03 декабря 2018

Я пытался реализовать смайлики в таблице.Я изменил параметры сортировки столбцов на utf8mb4_unicode_ci, а остальные параметры сортировки столбцов пусты, но когда я пытаюсь это сделать.Я получаю сообщение об ошибке:

SQLSTATE [HY000]: общая ошибка: 1267 Недопустимое сочетание параметров сортировки (utf8mb4_unicode_ci, IMPLICIT) и (utf8_unicode_ci, COERCIBLE) для операции '=' (SQL: select count (*) как совокупность от qa_defect_comments, где defect_id = 2957 и logged_user_id = 2 и comments = ??)

Можем ли мы установить параметры сортировки во время запроса данных?

РЕДАКТИРОВАТЬ - ПОКАЗАТЬ СОЗДАТЬ ТАБЛИЦУ qa_defect_comments

CREATE TABLE `qa_defect_comments` (
 `comments_id` int(11) NOT NULL AUTO_INCREMENT,
 `defect_id` int(11) NOT NULL,
 `project_id` int(11) NOT NULL,
 `comments` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL,
 `logged_user_id` int(11) NOT NULL,
 `assign_user_id` int(11) NOT NULL,
 `created_at` datetime NOT NULL,
 `updated_at` datetime NOT NULL,
 `created_time` datetime NOT NULL,
 PRIMARY KEY (`comments_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1793 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC

ПОКАЗАТЬ ПЕРЕМЕННЫЕ, КАК 'char%';

character_set_client - utf8mb4
character_set_connection - utf8mb4
character_set_database - latin1
character_set_filesystem - binary
character_set_results - utf8mb4
character_set_server - latin1
character_set_system - utf8
character_sets_dir - /usr/share/percona-server/charsets/

ПОКАЗАТЬ ПЕРЕМЕННЫЕ, КАК 'coll%';

collation_connection - utf8mb4_unicode_ci
collation_database - latin1_swedish_ci
collation_server - latin1_swedish_ci

1 Ответ

0 голосов
/ 04 декабря 2018

Чек config/database.php.Я думаю, вы найдете utf8 в одном или двух местах, где вы должны иметь utf8mb4.

'mysql' => [..., 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', ...]
...