MySql change collation in view

collation, concatenation, mysql

Solution

Even though you say "all the tables and column are in latin1_swedish_ci", what yo u posted is:

colName   varchar(30)   utf8_general_ci

date   varchar(76)   utf8_general_ci

name   varchar(43)   latin1_swedish_ci

Changing colName and date collation to latin1_swedish_ci will probably sort out your problem.

Problem

I have a view "name_all" in mysql which structure is ``` colName varchar(30) utf8_general_ci date varchar(76) utf8_general_ci name varchar(43) latin1_swedish_ci ``` when I try to run query: ``` SELECT CONCAT(`colname`,' of Mr. ',`name`,' Expire on ',`date`) FROM name_all ``` it give error: ``` #1271 - Illegal mix of collations for operation 'concat' "colName" is basically a Column Name which is used as a row in this View "date" is mysql Date which is converted in this format '%a %D %b, %Y' "name" is concatenation of firstname, middlename, lastname from a table ``` How do I solve this issue and what is my mistake? when i run query SHOW VARIABLES LIKE 'collation%' Result is ``` Variable_name Value collation_connection utf8_general_ci collation_database latin1_swedish_ci collation_server latin1_swedish_ci ```

Original source

Related problems