summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/sqlalchemy/dialects/mysql/base.py2
-rw-r--r--test/dialect/test_mysql.py18
2 files changed, 18 insertions, 2 deletions
diff --git a/lib/sqlalchemy/dialects/mysql/base.py b/lib/sqlalchemy/dialects/mysql/base.py
index a67a67d6f..563627136 100644
--- a/lib/sqlalchemy/dialects/mysql/base.py
+++ b/lib/sqlalchemy/dialects/mysql/base.py
@@ -1395,7 +1395,7 @@ class MySQLDDLCompiler(compiler.DDLCompiler):
auto_inc_column is not list(table.primary_key)[0]:
if constraint_string:
constraint_string += ", \n\t"
- constraint_string += "KEY `idx_autoinc_%s`(`%s`)" % (auto_inc_column.name, \
+ constraint_string += "KEY `idx_autoinc_%s`(%s)" % (auto_inc_column.name, \
self.preparer.format_column(auto_inc_column))
return constraint_string
diff --git a/test/dialect/test_mysql.py b/test/dialect/test_mysql.py
index 462267b46..613fac7c3 100644
--- a/test/dialect/test_mysql.py
+++ b/test/dialect/test_mysql.py
@@ -1411,7 +1411,7 @@ class SQLTest(fixtures.TestBase, AssertsCompiledSQL):
'CREATE TABLE sometable (assigned_id '
'INTEGER NOT NULL, id INTEGER NOT NULL '
'AUTO_INCREMENT, PRIMARY KEY (assigned_id, '
- 'id), KEY `idx_autoinc_id`(`id`))ENGINE=Inn'
+ 'id), KEY `idx_autoinc_id`(id))ENGINE=Inn'
'oDB')
t1 = Table('sometable', MetaData(), Column('assigned_id',
@@ -1424,6 +1424,22 @@ class SQLTest(fixtures.TestBase, AssertsCompiledSQL):
'INTEGER NOT NULL, PRIMARY KEY '
'(assigned_id, id))ENGINE=InnoDB')
+ def test_innodb_autoincrement_reserved_word_column_name(self):
+ t1 = Table(
+ 'sometable', MetaData(),
+ Column('id', Integer(), primary_key=True, autoincrement=False),
+ Column('order', Integer(), primary_key=True, autoincrement=True),
+ mysql_engine='InnoDB')
+ self.assert_compile(
+ schema.CreateTable(t1),
+ 'CREATE TABLE sometable ('
+ 'id INTEGER NOT NULL, '
+ '`order` INTEGER NOT NULL AUTO_INCREMENT, '
+ 'PRIMARY KEY (id, `order`), '
+ 'KEY `idx_autoinc_order`(`order`)'
+ ')ENGINE=InnoDB')
+
+
class SQLModeDetectionTest(fixtures.TestBase):
__only_on__ = 'mysql'