Self-contained, embeddable, zero-configuration SQL database engine

SQLite (64-bit)

Join our mailing list

Stay up to date with latest software releases, news, software discounts, deals and more.

Subscribe
Download SQLite 3.23.0 (64-bit)

SQLite 3.23.0 (64-bit)

  -  716.8 KB  -  Freeware

Sometimes latest versions of the software can cause issues when installed on older devices or devices running an older version of the operating system. Software makers usually fix these issues but it can take them some time. What you can do in the meantime is to download and install an older version of SQLite 3.23.0 (64-bit).


For those interested in downloading the most recent release of SQLite (64-bit) or reading our review, simply click here.


All old versions distributed on our website are completely virus-free and available for download at no cost.


We would love to hear from you

If you have any questions or ideas that you want to share with us - head over to our Contact page and let us know. We value your feedback!

  • SQLite 3.23.0 (64-bit) Screenshots

    The images below have been resized. Click on them to view the screenshots in full size.

What's new in this version:

- Add the sqlite3_serialize() and sqlite3_deserialize() interfaces when the SQLITE_ENABLE_DESERIALIZE compile-time option is used
- Recognize TRUE and FALSE as constants. (For compatibility, if there exist columns named "true" or "false", then the identifiers refer to the columns rather than Boolean constants)
- Support operators IS TRUE, IS FALSE, IS NOT TRUE, and IS NOT FALSE
- Added the SQLITE_DBSTATUS_CACHE_SPILL option to sqlite3_db_status() for reporting the number of cache spills that have occurred
- The "alternate-form-2" flag ("!") on the built-in printf implementation now causes string substitutions to measure the width and precision in characters instead of bytes
- If the xColumn method in a virtual table implementation returns an error message using sqlite3_result_error() then give that error message preference over internally-generated messages
- Added the -A command-line option to the CLI to make it easier to manage SQLite Archive files
- Add support for INSERT OR REPLACE, INSERT OR IGNORE, and UPDATE OR REPLACE in the Zipfile virtual table
- Enhance the sqlite3changeset_apply() interface so that it is hardened against attacks from deliberately corrupted changeset objects
- Added the sqlite3_normalize() extension function

Query optimizer enhancements:
- Improve the omit-left-join optimization so that it works in cases where the right-hand table is UNIQUE but not necessarily NOT NULL
- Improve the push-down optimization so that it works for many LEFT JOINs
- Add the LEFT JOIN strength reduction optimization that converts a LEFT JOIN into an ordinary JOIN if there exist terms in the WHERE clause that would prevent the extra all-NULL row of the LEFT JOIN from appearing in the output set
- Avoid unnecessary writes to the sqlite_sequence table when an AUTOINCREMENT table is updated with an rowid that is less than the maximum

Bug fixes:
- Fix the parser to accept valid row value syntax
- Fix the query planner so that it takes into account dependencies in the arguments to table-valued functions in subexpressions in the WHERE clause
- Fix incorrect result with complex OR-connected WHERE and STAT4
- Fix potential corruption in indexes on expressions due to automatic datatype conversions
- Assertion fault in FTS4
- Incorrect result on the less-than operator in row values
- Always interpret non-zero floating-point values as TRUE, even if the integer part is zero
- Fix an issue in the fsdir(PATH) table-valued function to the fileio.c extension, that caused a segfault if the fsdir() table was used as the inner table of a join
- Issue an error rather instead of an assertion-fault or null-pointer dereference when the sqlite_master table is corrupted so that the sqlite_sequence table root page is really a btree-index page
- Fix the ANALYZE command so that it computes statistics on tables whose names begin with "sqlite"

Additional fixes for issues detected by OSSFuzz:
- Fix a possible infinite loop on VACUUM for corrupt database files
- Disallow parameters in the WITH clause of triggers and views
- Fix a potential memory leak in row value processing
- Improve the performance of the replace() SQL function for cases where there are many substitutions on megabyte-sized strings, in an attempt to avoid OSSFuzz timeouts during testing
- Provide an appropriate error message when the sqlite_master table contains a CREATE TABLE AS statement. Formerly this caused either an assertion fault or null pointer dereference. Problem found by OSSFuzz on the GDAL project
- Incorrect assert() statement removed
- Fix a problem with using the LIKE optimization on an INTEGER PRIMARY KEY

Join our mailing list

Stay up to date with latest software releases, news, software discounts, deals and more.

Subscribe