Сьогодні я натрапив на перегляд у нашій базі даних, де було перше твердження в пункті де where 1 = 1
. Чи не повинно це повернутись для кожного запису? Чому хтось пише це, якщо він не фільтрує жодних записів?
Сьогодні я натрапив на перегляд у нашій базі даних, де було перше твердження в пункті де where 1 = 1
. Чи не повинно це повернутись для кожного запису? Чому хтось пише це, якщо він не фільтрує жодних записів?
Відповіді:
Деякі розробники динамічних запитів включають цю умову, так що будь-які "реальні" умови можна додавати за допомогою AND
без перевірки, як if (first condition) 'WHERE' else 'AND'
.
Якщо у вашій програмі є багато точок побудови операторів SQL, які генерують подібні запити, ви можете відзначити досліджуваний за допомогою цього фокусу. Якщо речення стосується підрахунку, ви можете використовувати код нижче, щоб ви могли вийти 42
з журналу SQL.
select count(42) from table