Почему этот простой подзапрос MySQL не работает?

#mysql #sql

#mysql #sql

Вопрос:

Этот запрос практически идентичен рабочему примеру, который мне показали:

 SELECT * FROM entities.entities
    WHERE entities.entities.id =
        (SELET MAX(entities.entities.id) FROM entities.entities);
  

Этот запрос был намного проще изначально, но я добавлял имена баз данных и таблиц повсюду, просто чтобы быть уверенным в безупречности запроса.

Выдает не очень полезную ошибку:

Ошибка SQL (1064): у вас ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса для использования рядом с ‘MAX (id) FROM entities)’ в строке 3

Я убедился, что у меня MySQL версии 5 , я убедился, что подзапрос является скалярным подзапросом, то есть он возвращает только один столбец с одной строкой и поддерживается в разделе WHERE запроса.

Я не вижу в этом ничего плохого.

Введите экспертов!

Комментарии:

1. Кроме отсутствующего C в SELET ?

Ответ №1:

Ваш код должен читать:

 SELECT * FROM entities.entities
WHERE entities.entities.id =
    (SELECT MAX(entities.entities.id) FROM entities.entities);
  

(Вы неправильно написали «SELECT» как «ВЫБРАТЬ».)

Комментарии:

1. Из всех простых и предотвратимых опечаток… ВЫБРАТЬ? Я недооценил хороший ночной сон.

2. Да, как будто мы никогда этого не делали? БЕСЧИСЛЕННОЕ количество раз? 😉 Бывают редкие случаи, когда копирование и вставка (если это возможно) помогают, возможно, это был один из них. Приветствия!

Ответ №2:

Попробуйте это:

 SELECT * FROM entities.entities
    WHERE entities.entities.id =
        (SELECT MAX(entities.entities.id) FROM entities.entities);
  

Ответ №3:

Вы неправильно написали select:

ВЫБЕРИТЕ * ИЗ entities.entities, ГДЕ entities.entities.id = (ВЫБЕРИТЕ MAX (entities.entities.id ) ОТ entities.entities);

Ответ №4:

Да, сначала обязательно проверьте свой код.

 SELECT * FROM entities.entities
WHERE entities.entities.id =         
(SELECT MAX(entities.entities.id) FROM entities.entities); 
  

ВЫБЕРИТЕ —> ВЫБРАТЬ

С уважением