Total NOOB tratando de resolver este error. Recientemente he cambiado de servidores y de repente una tabla /consulta sql que se utiliza para trabajar perfectamente ahora muestra el siguiente error:

Ilegal mezcla de intercalaciones (utf8_general_ci,IMPLÍCITO) y (latin1_swedish_ci,NUMÉRICO) para > operación ‘<>’ SQL=SELECCIONAR…

Tengo una estructura en la tabla, que incluye el TIEMPO de los campos y los campos INT. Cuando me cambie el campo tiempo de tipo de datos INT y no de TIEMPO que desaparezca el error. Por desgracia, también lo hace el tiempo de los datos (muestra 0:00).

La Consulta SQL parece:

SELECT
OverallRank,
First,
Last,
Affiliate,
Part1Number,
Part1NumberRank,
Part2Number,
Part2NumberRank,
DATE_FORMAT(Part1Time, '%i:%s') as Part1Time, 
Part1TimeRank,
Part3Number,
Part3NumberRank,
AgeGroup
FROM
(SELECT
First,
Last,
Affiliate,
AgeGroup,
Part1Number,
Part2Number,
Part1Time,
Part3Number,
Part1NumberRank,
Part2NumberRank,
Part1TimeRank,
Part3NumberRank,
(Part1NumberRank + Part2NumberRank + Part1TimeRank + Part3NumberRank) AS Total,
@overallrank:=CASE WHEN @total <> (Part1NumberRank + Part2NumberRank + Part1TimeRank + Part3NumberRank) THEN @overallrank+1 ELSE @overallrank+0 END AS OverallRank,
@total:=(Part1NumberRank + Part2NumberRank + Part1TimeRank + Part3NumberRank) AS TTL
FROM
(SELECT @overallrank:=0) overallrank,
(SELECT @total:=0) ttl,
(SELECT
First,
Last,
Affiliate,
AgeGroup,
Part1Number,
Part2Number,
Part1Time,
Part3Number,
Part1NumberRank,
Part2NumberRank,
Part1TimeRank,
@rank4:=CASE WHEN @Part3Number <> Part3Number THEN @rank4+1 ELSE @rank4+0 END AS Part3NumberRank,
@Part3Number:=Part3Number AS P4
FROM
(SELECT @rank4:=0) r4,
(SELECT @Part3Number:=0) p4,
(SELECT
First,
Last,
Affiliate,
AgeGroup,
Part1Number,
Part2Number,
Part1Time,
Part3Number,
Part1NumberRank,
Part2NumberRank,
@rank3:=CASE WHEN @Part1Time <> Part1Time THEN @rank3+1 ELSE @rank3+0 END AS Part1TimeRank,
@Part1Time:=Part1Time AS P3
FROM
(SELECT @rank3:=0) r3,
(SELECT @Part1Time:=0) p3,
(SELECT
First,
Last,
Affiliate,
AgeGroup,
Part1Number,
Part2Number,
Part1Time,
Part3Number,
Part1NumberRank,
@rank2:=CASE WHEN @Part2Number <> Part2Number THEN @rank2+1 ELSE @rank2+0 END AS Part2NumberRank,
@Part2Number:=Part2Number AS P2
FROM
(SELECT @rank2:=0) r2,
(SELECT @Part2Number:=0) p2,
(SELECT
First,
Last,
Affiliate,
AgeGroup,
Part1Number,
Part2Number,
Part1Time,
Part3Number,
@rank1:=CASE WHEN @Part1Number <> Part1Number THEN @rank1+1 ELSE @rank1+0 END AS Part1NumberRank,
@Part1Number:=Part1Number AS P1
FROM
(SELECT @rank1:=0) r1,
(SELECT @Part1Number:=0) p1,
(SELECT
*
FROM 
#__results
WHERE
EventName = '2011EoSummer' AND
Gender = {$REQUEST:Gender} AND
({$REQUEST:Age} = 'Overall' OR AgeGroup = {$REQUEST:Age})
ORDER BY 
Part1Number DESC
) T1
) T2
ORDER BY
Part2Number DESC
) T3
ORDER BY
Part1Time ASC
) T4
ORDER BY
Part3Number DESC
) T5
ORDER BY 
Total ASC
) T6

Cualquier ayuda sería muy apreciada

He intentado ejecutar la consulta en mi PHPMyADMIN y obtuvo los siguientes:

1267 – Ilegal mezcla de intercalaciones (utf8_general_ci,IMPLÍCITO) y (latin1_swedish_ci,NUMÉRICO) de la operación ‘<>’

  • Por favor, mostrar la salida de CREATE DATABASE <yourDatabaseName> y de CREATE TABLE <tableName> para las tablas subyacentes. También tener una mirada en el conjunto de caracteres variables con SHOW variables LIKE '%char%'
  • He intentado ejecutar la consulta en mi PHPMyADMIN y obtuvo los siguientes: #1267 – Ilegal mezcla de intercalaciones (utf8_general_ci,IMPLÍCITO) y (latin1_swedish_ci,NUMÉRICO) de la operación ‘<>’
InformationsquelleAutor chris | 2012-10-06

2 Comentarios

  1. 1

    Este es un problema que fue resuelto por mi empresa de hosting… aquí fue su respuesta después de ser contactado.

    Parece que la base de datos que está utilizando actualmente predeterminado para usar la predeterminada del servidor de información. Esto puede ocurrir durante una cuenta de mover, o a través de configuraciones de php. Hemos preparado una secuencia de comandos que puede ejecutar para cambiar rápidamente la intercalación de cualquier base de datos. Por favor, consulte los siguientes apartados para obtener más información:

    http://www.inmotionhosting.com/support/website/databases/how-to-convert-a-database-to-utf-8

    Una vez que la intercalación se actualiza, a continuación, usted debe ser capaz de ejecutar su consulta sin ningún tipo de errores.

  2. 0

    Al parecer, hay columnas/las tablas dentro de la consulta que tienen intercalaciones diferentes, siendo ilegal para algunas operaciones.

    Intente cambiar la tabla y las columnas implicadas a un solo cotejo.

Dejar respuesta

Please enter your comment!
Please enter your name here