SQLite
 sql >> база данни >  >> RDS >> SQLite

Каква е границата на SQL променливите, които човек може да посочи в единична execSQL заявка

Ограничението е твърдо кодирано в sqlite3.c и е настроено на 999. За съжаление може да се промени, но само по време на компилиране. Ето съответните фрагменти:

/*
** The maximum value of a ?nnn wildcard that the parser will accept.
*/
#ifndef SQLITE_MAX_VARIABLE_NUMBER
# define SQLITE_MAX_VARIABLE_NUMBER 999
#endif


/*
** The datatype ynVar is a signed integer, either 16-bit or 32-bit.
** Usually it is 16-bits.  But if SQLITE_MAX_VARIABLE_NUMBER is greater
** than 32767 we have to make it 32-bit.  16-bit is preferred because
** it uses less memory in the Expr object, which is a big memory user
** in systems with lots of prepared statements.  And few applications
** need more than about 10 or 20 variables.  But some extreme users want
** to have prepared statements with over 32767 variables, and for them
** the option is available (at compile-time).
*/
#if SQLITE_MAX_VARIABLE_NUMBER<=32767
typedef i16 ynVar;
#else
typedef int ynVar;
#endif


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLiteAssetHelper:Не можа да се отвори база данни за писане (ще се опита само за четене)

  2. 2 начина за връщане на нечислови стойности в SQLite

  3. Android:Грешка при копиране на база данни (Sqliite) от папка с активи

  4. WinDeath при notifyDataSetChanged()

  5. Добавете данни към базата данни sqlite само веднъж и прочетете няколко пъти