Le jeu de caractères par défaut de Mysql8 est utf8mb4 et la règle de tri est utf8mb4_0900_ai_ci Lorsque nous devons importer des données Mysql8 dans Mysql5.7, il apparaîtra que Mysql5.7 ne prend pas en charge la règle de tri de. utf8mb4_0900_ai_ci. Ensuite, nous pouvons avoir les 2 méthodes suivantes pour le résoudre.
Vous pouvez d'abord exporter les données Mysql8 en tant que script SQL, puis remplacer complètement le jeu de caractères et le classement via l'éditeur. Cette méthode convient à ceux qui ne savent pas quelle version de Mysql importer et peut être modifiée si nécessaire.
Dans notre phase de développement, nous pouvons utiliser la base de données Mysql8, mais lorsqu'elle est réellement en ligne, d'autres versions des bases de données Mysql seront fournies afin d'éviter les jeux de caractères. et classements Pour résoudre le problème de non-concordance, nous pouvons rendre le jeu de caractères et le classement de la base de données Mysql8 pour le développement compatible avec la version de la base de données de l'environnement de production.
-- database_name = 你的库名 ALTER DATABASE `database_name` CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;
-- database_name = 你的库名 SELECT concat( "ALTER TABLE `", TABLE_NAME, "` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;" ) AS `target` FROM information_schema.TABLES WHERE table_schema = "databse_name"
Après avoir exécuté le SQL ci-dessus, vous obtiendrez le SQL pour modifier le jeu de caractères de la table et les règles de classement. Nous pouvons le copier et. exécutez-le une fois.
Ouvrez Navicat, sélectionnez la base de données, cliquez sur Outils - Transfert de données
Cliquez sur le fichier, sélectionnez la version à exporter
Ouvrez le fichier .sql
utf8mb4替换为utf8 utf8mb4_0900_ai_ci替换为utf8_general_ci utf8_croatian_ci替换为utf8_general_ci utf8mb4_general_ci替换为utf8_general_ci
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!