diff --git a/django/db/backends/mysql/base.py b/django/db/backends/mysql/base.py
index 8ce2c11..02bdda1 100644
a
|
b
|
class CursorWrapper(object):
|
119 | 119 | # misclassified and Django would prefer the more logical place. |
120 | 120 | if e[0] in self.codes_for_integrityerror: |
121 | 121 | raise utils.IntegrityError, utils.IntegrityError(*tuple(e)), sys.exc_info()[2] |
122 | | raise |
| 122 | raise utils.DatabaseError, utils.DatabaseError(*tuple(e)), sys.exc_info()[2] |
123 | 123 | except Database.DatabaseError, e: |
124 | 124 | raise utils.DatabaseError, utils.DatabaseError(*tuple(e)), sys.exc_info()[2] |
125 | 125 | |
diff --git a/tests/regressiontests/backends/tests.py b/tests/regressiontests/backends/tests.py
index b561b4e..436da8c 100644
a
|
b
|
class BackendTestCase(TestCase):
|
351 | 351 | self.assertTrue(hasattr(connection.ops, 'connection')) |
352 | 352 | self.assertEqual(connection, connection.ops.connection) |
353 | 353 | |
| 354 | def test_duplicate_table_error(self): |
| 355 | """ Test that creating an existing table returns a DatabaseError """ |
| 356 | cursor = connection.cursor() |
| 357 | query = 'CREATE TABLE %s (id INTEGER);' % models.Article._meta.db_table |
| 358 | with self.assertRaises(DatabaseError): |
| 359 | cursor.execute(query) |
354 | 360 | |
355 | 361 | # We don't make these tests conditional because that means we would need to |
356 | 362 | # check and differentiate between: |