Type behavior
MySQL type
SQLite default
DATE / DATETIME / TIMESTAMP / TIMEkept as declared
CHAR / VARCHAR / DECIMAL / FLOATkept as declared
TEXT / LONGTEXTTEXT
BLOB / LONGBLOBBLOB
TINYINT / YEARSMALLINT
MEDIUMINTINT
DOUBLEFLOAT
ENUM / SETNVARCHAR(n), sized to the longest allowed value
JSONLONGTEXT
The declared type is carried across wherever SQLite tolerates the name, and rewritten
only for types SQLite does not have. SQLite treats the declaration as an affinity hint
rather than a hard constraint.
Schema conversion
Generates SQLite-compatible DDL from MySQL table definitions
- indexes, primary keys and foreign keys come across;
engine-specific clauses
(ENGINE=InnoDB, ROW_FORMAT,
KEY_BLOCK_SIZE) are dropped because SQLite has
no equivalent.
Identity and AUTO_INCREMENT
Maps MySQL AUTO_INCREMENT columns to SQLite
INTEGER PRIMARY KEY AUTOINCREMENT on the PK
column - the SQLite rowid mechanism takes over key
generation natively on the target side.
File output
Writes a single self-contained SQLite database file
(.sqlite, .sqlite3, .db or
.db3) at the path you pick on Setup - ready for
application packaging, mobile bundling, or distribution
without a server runtime. Whether an existing file is
replaced or added to is a job option.
Stored routines, events, and user permissions - out of scope
DBConvert's migration covers tables with their fields, types
and indexes, and foreign keys between them.
MySQL stored procedures, functions, triggers, events, and
GRANT-based user permissions stay in the
source database and are rewritten manually in SQLite's
trigger language - or moved into application code,
since SQLite has no stored-procedure layer and no
server-side user model.