Если я запускаю следующий запрос:MySQL Order-By Bug
select * from mysql.user order by abcdef;
MySQL выдает следующее сообщение об ошибке:
ERROR 1054 (42S22): Unknown column 'abcdef' in 'order clause'
Если я запускаю следующий подобный запрос:
select * from mysql.user order by "abcdef";
MySQL теперь выполняет запрос и игнорирует предложение order by (поскольку в таблице mysql.user отсутствует столбец с именем «abcdef»).
Это ошибка в MySQL? Почему вы хотите, чтобы заказ был неудачным, когда фраза была в кавычках? Не было бы подходящим сообщение об ошибке при запуске порядка в несуществующем столбце?
Да, но что произойдет, если бы у меня был столбец с именем «abcdef». Будет ли порядок «abcdef» работать тогда? – David
Он будет делать то же самое, что и сейчас, потому что «abcdef» - это строка, а не столбец. порядок от abcdef будет работать. – aehiilrs
+1 Сравните это с общей типологией 'SELECT 8 FROM Table', которая возвращает ...' 8'. Все SQL-механизмы, которые я видел, будут точно соответствовать константам SELECT и ORDER BY - такое поведение просто не всегда так полезно. :) –