Mysql
 sql >> Datenbank >  >> RDS >> Mysql

CakePHP wandelt MySQL-Ganzzahlen in Strings um... und bringt die rand()-Funktion durcheinander

Nein, das ist nicht richtig. Wenn es String-Anführungszeichen verwenden würde, würde es gut funktionieren, Backticks sind es nicht Anführungszeichen. Das Problem ist, dass CakePHP die Nummer angibt, als wäre es ein Spaltenname . Versuchen Sie stattdessen, den Wert in einfachen Anführungszeichen zu zitieren:

"RAND('%d')"

Dies sollte dazu führen, dass das folgende SQL erzeugt wird:

ORDER BY RAND('1235123412341')

Dies ergibt das gleiche Ergebnis wie ohne die Anführungszeichen.