2016-04-19 6 views
0

J'ai un problème avec la requête Mariadb. J'ai deux tableaux ci-dessous commeComment faire tomber une table quand une colonne a été définie en cascade

CREATE TABLE kayttaja (
     kayttaja_id integer NOT NULL auto_increment PRIMARY KEY, 
     kayttaja_tunnus varchar(255) NOT NULL UNIQUE, 
     kayttaja_salasana_encrypted varchar(255) NOT NULL, 
     kayttaja_enabled tinyint NOT NULL, 
     kayttaja_suku varchar(255) default NULL, 
     kayttaja_etu varchar(255) default NULL, 
     CONSTRAINT fk_rooli_id FOREIGN KEY(fk_rooli_id) REFERENCES rooli(rooli_id) 
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

CREATE TABLE kayttaja_rooli (
    id integer NOT NULL auto_increment PRIMARY KEY, 
    fk_kayttaja_id integer NOT NULL, 
    fk_rooli_id integer NOT NULL, 
    FOREIGN KEY (fk_kayttaja_id) REFERENCES kayttaja(kayttaja_id) ON DELETE NO ACTION ON UPDATE NO ACTION, 
    FOREIGN KEY (fk_rooli_id) REFERENCES rooli(rooli_id) ON DELETE NO ACTION ON UPDATE NO ACTION 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

Maintenant, je veux déposer table Käyttäjä, comment puis-je faire? J'ai déjà déposé une table kayttaja_rooli, merci.

+0

Quelle a été l'erreur que vous avez reçu? –

+0

vérifier que la colonne/clé existe –

+0

J'utilise la requête pour déposer la clé étrangère d'abord: alter table kayttaja déposer la clé étrangère fk_kayttaja_id mais ce n'est pas le travail. –

Répondre

0

Vous pouvez déposer normalement à l'aide

drop table if exists kayttaja; 

Si vous avez des problèmes avec youcan clés étrangères les désactiver, laissent tomber la table et leur permettre de nouveau

SET FOREIGN_KEY_CHECKS = 0; 
drop table if exists kayttaja; 
SET FOREIGN_KEY_CHECKS = 1; 
+0

Deuxième méthode a travaillé avec moi, merci mon frère! –

+0

vous êtes les bienvenus –