1673
MariaDBERRORNotableInnoDBHIGH confidence
Table cannot be moved from the system tablespace
Production Risk
Medium — the operation is rejected; table data is unaffected.
What this means
An operation (such as DISCARD TABLESPACE or IMPORT TABLESPACE) was attempted on a table stored in the InnoDB system tablespace (ibdata1), which does not support per-table tablespace operations.
Why it happens
- 1The table was created when innodb_file_per_table = OFF and resides in the shared system tablespace.
How to reproduce
trigger — this will error
trigger — this will error
ALTER TABLE t DISCARD TABLESPACE; -- t was created with innodb_file_per_table = OFF
expected output
ERROR 1673 (HY000): Table 't' is in the system tablespace, which does not support IMPORT/DISCARD.
Fix
Recreate the table with innodb_file_per_table = ON
Recreate the table with innodb_file_per_table = ON
SET GLOBAL innodb_file_per_table = ON; ALTER TABLE t ENGINE = InnoDB; -- moves table to its own .ibd file
Why this works
Enabling file-per-table and rebuilding the table gives it its own tablespace file.
Version notes
Sources
Official documentation ↗
MySQL 8.0 — 1673 ER_TABLE_IN_SYSTEM_TABLESPACE
Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev