Unterstützt Transaktionen, Sperren auf Zeilenebene und Fremdschlüssel

Aus irgendeinem Grund kann ich diese Tabelle nicht erstellen:

CREATE TABLE user_role (
  user_id VARCHAR(20) NOT NULL,
  role_id INTEGER UNSIGNED NOT NULL,

  FOREIGN KEY (user_id)
    REFERENCES users(user_id),
  FOREIGN KEY (role_id)
    REFERENCES roles(role_id)
);

Die folgende ähnliche Tabelle weist keine Probleme auf:

CREATE TABLE role_perm (
  role_id INTEGER UNSIGNED NOT NULL,
  perm_id INTEGER UNSIGNED NOT NULL,

  FOREIGN KEY (role_id)
    REFERENCES roles(role_id),
  FOREIGN KEY (perm_id)
    REFERENCES permissions(perm_id)
);

Die Fehlermeldung lautet:

#1005 - Can't create table 'test.user_role' (errno: 150) (Details...) Supports transactions, row-level locking, and foreign keys

Irgendwelche Ideen?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage