mysql - #1005 - 无法使用 MySQL 创建表 'workswell_database.skoleni' 新手用户

标签 mysql error-handling database-schema

对不起我的愚蠢问题,但我在 MySQL 中做数据库并且很高兴,当我完成时。不幸的是,我在我的数据库中发现了很多错误 n 当我将正确修复错误时,所以我有另一个.另外,这是我的数据库,那个家伙现在真的很无聊,请写下我的错误和解决方案。作为一名程序员,我是新手,这个数据库我做了大约 4 天!

CREATE TABLE`Skoleni` (
    `sk_id` INT NOT NULL UNIQUE AUTO_INCREMENT,
    `Cena` MEDIUMINT NOT NULL,
    `Obsazenost` text NOT NULL,
    `Kapacita` datetime NOT NULL,
    `Popis` text,
    `Prerekvizity` text,
    `Certifikat` MEDIUMINT NOT NULL,
    PRIMARY KEY (`sk_id`),
    FOREIGN KEY (`sk_id`) REFERENCES Skoleni_has_Termin(`Skoleni_sk_id`),
    FOREIGN KEY (`sk_id`) REFERENCES Skoleni_has_Uzivatel(`Skoleni_sk_id`)
);

CREATE TABLE `Skoleni_has_Termin`(
    `Skoleni_sk_id`INT NOT NULL UNIQUE,
    `Termin_ter_id` INT NOT NULL UNIQUE,
    PRIMARY KEY (`Skoleni_sk_id`)
);

CREATE TABLE `Termin` (
    `ter_id` INT NOT NULL UNIQUE AUTO_INCREMENT,
    `Datum_cas` DATETIME NOT NULL,
    `Misto_mo_id` INT NOT NULL,
    PRIMARY KEY (`ter_id`),
    FOREIGN KEY (`ter_id`) REFERENCES Skoleni_has_Termin(`Termin_ter_id`)
);

CREATE TABLE `Misto` (
    `mo_id` INT NOT NULL UNIQUE AUTO_INCREMENT,
    `ulice` MEDIUMINT NOT NULL,
    `cislo_popisne` MEDIUMINT NOT NULL,
    `lat` FLOAT (10,6) NOT NULL,
    `lng` FLOAT (10,6) NOT NULL,
  PRIMARY KEY (`mo_id`)
)ENGINE = MYISAM;

SELECT TABLE.Misto(
INSERT (`ulice`, `cislo_popisne`, `lat`, `lng`),
VALUES (`dr_Zikmunda_Wintra_376_5``16000 Praha 6 Bubenec``14.407438``50.101049`)
);

CREATE TABLE `Skoleni_has_Uzivatel` (
    `Skoleni_sk_id` INT NOT NULL UNIQUE,
    `Uzivatel_uziv_id` INT NOT NULL UNIQUE,
    PRIMARY KEY (`Skoleni_sk_id`)
);

CREATE TABLE `Uzivatel` (
    `uziv_id` INT NOT NULL UNIQUE AUTO_INCREMENT,
    `Jmeno` VARCHAR(30) NOT NULL,
    `Typ` MEDIUMINT UNIQUE,
    `Heslo` VARCHAR(32) NOT NULL,
    `Potvrzeni` VARCHAR(1) NOT NULL,
   PRIMARY KEY (`uziv_id`),
   FOREIGN KEY (`uziv_id`) REFERENCES Skoleni_has_Uzivatel(`Uzivatel_uziv_id`)
);

CREATE TABLE `Skoleni_has_Lektor` (
    `Skoleni_sk_id` INT NOT NULL UNIQUE,
    `Lektor_lek_id` INT NOT NULL UNIQUE,
    PRIMARY KEY (`Lektor_lek_id`)
);

CREATE TABLE `Lektor` (
    `lek_id` INT NOT NULL UNIQUE AUTO_INCREMENT,
    `Titul'pred'` VARCHAR(10) NOT NULL,
    `Jmeno` VARCHAR(20) NOT NULL,
    `Prijmeni` VARCHAR(20) NOT NULL,
    `Titul'za'` VARCHAR(10),
    `Firma` VARCHAR(30),
    `Rodne cislo` CHAR(11) NOT NULL,
    `Datum narozeni` DATE NOT NULL,
   PRIMARY KEY (`lek_id`)
);

CREATE TABLE `Firma` (
    `fir_id` INT NOT NULL UNIQUE AUTO_INCREMENT,
    `E-mail` VARCHAR(15) NOT NULL,
    `Telefon` VARCHAR(15) NOT NULL,
    `Web` VARCHAR(30),
    `IC` CHAR(8) NOT NULL,
    `DIC` VARCHAR(12) NOT NULL,
    `Misto_mo_id` INT NOT NULL,
   PRIMARY KEY (`fir_id`),
   PRIMARY KEY (`Misto_mo_id`),
   FOREIGN KEY (`Misto_mo_id`) REFERENCES Firma(`Misto_mo_id`)
);

最佳答案

这里很可能不需要表 `skoleni_has_termin' 和 'skoleni_has_lektor'。我会将日期带到培训表中,并在 skoleni 表中只留下 lektor_id,因为培训和讲师之间的关系是 1:n 而不是 m:n(除非一次培训可以有多个讲师)

关于mysql - #1005 - 无法使用 MySQL 创建表 'workswell_database.skoleni' 新手用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17717734/

相关文章:

sql - Teradata:如何在存储过程中引发错误

php - 我在表单提交时将数据插入表的最佳方法是什么?

mysql - 需要递归逻辑的 SQL 查询

php - php error_reporting-禁用然后分别启用0和1无效

error-handling - 在mshta.exe中激活错误消息

mysql - 连接表或为几行创建列

sql - 为多对多关系的组合设计 SQL 模式(产品的变体)

php - PDO 查询执行无效,bindValue 不匹配问题

php - mysql* 到 MySQLi

java - hsql CLOB 列是否有大小限制以及如何配置它