当colum设置级联时如何删除表

时间:2016-04-19 07:03:06

标签: mysql mariadb cascade

我遇到了Mariadb查询的问题。我有两个表,如下面

 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;

现在我想放下kayttaja表,我该怎么办?我已经删除了kayttaja_rooli表,谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用

正常删除它
drop table if exists kayttaja;

如果您遇到外键问题,可以禁用它们,删除表并再次启用它们

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