<p>Error 1527 occurs when a CREATE or ALTER statement repeats a table option (ENGINE, ROW_FORMAT, DATA DIRECTORY, etc.) that MySQL allows only once.</p>
<p>MySQL Error 1527 ER_FILEGROUP_OPTION_ONLY_ONCE appears when a CREATE or ALTER TABLE command specifies a single-use option more than once. Delete the duplicate option or merge the settings to resolve the error quickly.</p>
It is not allowed to specify %s more than once
Error 1527 fires when MySQL parses a CREATE TABLE, ALTER TABLE or CREATE INDEX statement that repeats a table option that must be unique. The server aborts execution and shows the message It is not allowed to specify %s more than once.
The placeholder %s is replaced by the option name that was duplicated, for example ENGINE or DATA DIRECTORY. Because the statement is syntactically invalid, no object is created or changed until the error is fixed.
The error is triggered only by duplicate single-use options. MySQL treats ENGINE, ROW_FORMAT, KEY_BLOCK_SIZE, DATA DIRECTORY, INDEX DIRECTORY, TABLESPACE and STORAGE DISK|MEMORY as mutually exclusive and unique.
When any of these options appear more than once in the same CREATE or ALTER command, the parser raises error 1527 to protect the data dictionary from conflicting metadata.
Locate every occurrence of the reported option in the failing statement. Keep one authoritative value and remove or comment out the others. If different values are needed, split the operation into separate statements.
After eliminating the duplicates, rerun the statement. The table will be created or altered successfully as long as no other syntax issues exist.
Developers often copy existing DDL scripts and append new options, accidentally leaving the original lines intact. Review copy-pasted code carefully.
Migrations generated by ORMs can append default options while custom migrations add their own. Enforce style guides or linters to catch the duplication early.
Adopt a single source-of-truth for DDL generation, such as a version-controlled Galaxy SQL Collection. Galaxy highlights duplicate keywords in real time, preventing commits that would later fail.
Include CREATE TABLE linting in CI pipelines. Automated checks stop duplicate options before they reach staging or production.
Error 1064 syntax error appears when any SQL syntax is malformed. Review the statement structure.
Error 1210 incorrect table definition arises when incompatible options are combined (e.g., row format with engine). Select compatible values.
Developers duplicate existing CREATE TABLE scripts and forget to delete an original ENGINE or ROW_FORMAT clause.
Framework-generated migrations tack on default options while custom migrations specify another value, resulting in two declarations.
Emergency ALTER TABLE statements are written quickly and may repeat DATA DIRECTORY or TABLESPACE clauses.
Concurrent branch merges can leave two versions of the same option in one statement.
General syntax failure that may accompany option duplication when other tokens are misplaced.
Raised when mutually exclusive options such as ROW_FORMAT=COMPRESSED with ENGINE=MyISAM are combined.
Occurs when an unsupported engine name is supplied after fixing the duplication.
No. Even identical values cause error 1527 because MySQL forbids repeating the keyword.
Yes. Any statement that repeats a single-use option triggers the same error code.
The error exists in MySQL 5.6, 5.7, 8.0 and MariaDB forks. The behavior is consistent across versions.
Galaxy's real-time parser flags duplicate table options while you type and offers AI-powered corrections before execution.