SQL-MYISAM-001
ENGINE=MyISAM
MyISAM engine in install SQL
Joomla 4+ expects InnoDB. MyISAM cannot do foreign keys and is a poor default on modern MySQL.
ENGINE=MyISAM → ENGINE=InnoDB
Symptoms people search
foreign keys fail · install sql mysql 8 warning
Replace this code
Swap ENGINE=MyISAM for ENGINE=InnoDB.
Joomla 3
Remove or stop calling this
CREATE TABLE `#__lms_courses` (...) ENGINE=MyISAM DEFAULT CHARSET=utf8;Joomla 4 / 6
Use this instead
CREATE TABLE `#__lms_courses` (...) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;How to fix it
- 1Replace MyISAM with InnoDB in install and update SQL.
- 2Prefer utf8mb4.
Also known as
MyISAM · InnoDB
Related issues
- Joomla 3 → 4SQL / schema
0000-00-00 dates
'0000-00-00 00:00:00' → NULL
- Joomla 3 → 4SQL / schema
SQL Server driver
sqlsrv → MySQL / MariaDB / PostgreSQL
- Joomla 3 → 4PHP
mysql_* PHP functions
mysql_query() → Joomla DatabaseInterface / mysqli / PDO
- Joomla 3 → 4Joomla API
JMenuItem public $params
$item->params->get('show_title') → getParams() / setParams()
- Joomla 3 → 4Joomla API
Media field #joomlaImage:// paths
images/lms/hero.jpg (raw path) → HTMLHelper::cleanImageURL() / MediaHelper::getCleanMediaFieldValue()
- Joomla 3 → 4Joomla API
JMail::sendAdminMail()
JMail::sendAdminMail() → Build a Mailer message yourself