Сокращенное неверное значение DOUBLE хранимой процедуры mysql

0

Я отправляю данные в хранимую процедуру и получаю усеченную ошибку.

 list_of_ids varchar(100)
 select * from table where id in (list_of_ids);
 id are 1,2,3

Если я отправлю один идентификатор, он будет работать. Список id не работает. Как я могу отправить список идентификаторов. Есть ли список = true?

Теги:
stored-procedures
python-3.x
flask

1 ответ

1
Лучший ответ

Вы пытаетесь сравнить id с строкой:

select * from table where id in ('1,2,3');

Вместо этого вы можете использовать функцию find_in_set.

select * from table where find_in_set(id, list_of_ids);
  • 0
    Здорово. Я вроде забыл об этом. Является ли метод find_in_set быстрее, чем вставка в таблицу, а затем выполнение выбора?
  • 0
    Скорее всего, вставка в таблицу и выполнение объединения будет быстрее в качестве запроса (find_in_set может не использовать индекс), но если у вас нет огромного количества данных, find_in_set является хорошим выбором.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню