繁体   English   中英

创建数据库

[英]Create a database

我想尝试创建一个数据库,但出现以下错误:

错误代码:1192。无法执行给定命令,因为您有活动的锁定表或活动事务。

我要创建的数据库与一家银行相关,其表是:客户、帐户和操作。 我不知道我是否真的有 PK 或 FK,但是在创建它时我得到了那个错误。

-- -----------------------------------------------------
-- Schema Bank
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `Bank` ;

-- -----------------------------------------------------
-- Table `Bank`.`Customer`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Bank`.`Customer` (
  `idCustomer` INT NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(45) NOT NULL,
  `lastname` VARCHAR(45) NOT NULL,
  `DNI` VARCHAR(10) NOT NULL,
  `phone` INT(10) NULL,
  PRIMARY KEY (`idCustomer`)
 ) ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `Bank`.`Account`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Bank`.`Account` (
  `idAccount` INT NOT NULL AUTO_INCREMENT,
  `Customer_idCustomer` INT NOT NULL,
  `numAccount` INT(10) NOT NULL,
  `accountType` VARCHAR(45) NOT NULL,
  `balance` FLOAT (10) NOT NULL,
  `currency` VARCHAR(3) NOT NULL,
  PRIMARY KEY (`idAccount`),
  FOREIGN KEY (`Customer_idCustomer`) REFERENCES `Bank`.`Customer`(idCustomer) ON DELETE CASCADE
  )
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `Bank`.`Transaction`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Bank`.`Transaction` (
  `idTransaction` INT NOT NULL AUTO_INCREMENT,
  `Customer_idCustomer` INT NOT NULL,
  `Account_idAccount` INT NOT NULL,
  `transactionType` VARCHAR(45) NOT NULL,
  `transactionDate` DATE  NOT NULL,
  PRIMARY KEY (`idTransaction`),
  CONSTRAINT FOREIGN KEY (`Customer_idCustomer`) REFERENCES `Bank`.`Customer`(idCustomer) ON DELETE CASCADE,
  UNIQUE KEY (idTransaction),
  FOREIGN KEY (`Account_idAccount`) REFERENCES `Bank`.`Account`(idAccount) ON DELETE CASCADE
  )
ENGINE = InnoDB;


SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

我不确定我的数据库是否实施得很好

您正在运行尚未提交的事务是否如此容易? 或者transaction这个词是保留词?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM