Hello,
in my database the storage engine for all tables is InnoDB.
mysql> SHOW VARIABLES LIKE '%storage%';
+----------------------------+--------+
| Variable_name | Value |
+----------------------------+--------+
| default_storage_engine | InnoDB |
| default_tmp_storage_engine | InnoDB |
| storage_engine | InnoDB |
+----------------------------+--------+
3 rows in set (0.04 sec)
mysql> SELECT ENGINE FROM information_schema.TABLES WHERE TABLE_SCHEMA='database';
+--------+
| ENGINE |
+--------+
| InnoDB |
| InnoDB |
| InnoDB |
| InnoDB |
| InnoDB |
| InnoDB |
| InnoDB |
| InnoDB |
| InnoDB |
| InnoDB |
| InnoDB |
| InnoDB |
| InnoDB |
| InnoDB |
+--------+
14 rows in set (0.02 sec)
But when I open a table in HeidiSQL, "<Server default>" is selected under Options -> Engine. And I can't create foreign keys (that's my main problem). When I change the engine to InnoDB, I can create foreign keys. But then an alter statement is created:
ALTER TABLE `ratingscale` ENGINE=InnoDB;
When I save this statement, <Server default> is selected and foreign keys are disabled again.
So what is the problem with this "server default engine"?