Mysql
 sql >> Base de données >  >> RDS >> Mysql

CakePHP convertit les entiers MySQL en chaînes... bousillant la fonction rand()

Non, ce n'est pas correct. S'il utilisait des guillemets de chaîne, cela fonctionnerait bien, mais les backticks ne le sont pas guillemets de chaîne. Le problème est que CakePHP cite le numéro comme s'il s'agissait d'un nom de colonne . Essayez plutôt de citer la valeur en utilisant des guillemets simples :

"RAND('%d')"

Cela devrait entraîner la production du code SQL suivant :

ORDER BY RAND('1235123412341')

Cela donne le même résultat que lorsque vous n'incluez pas les guillemets.