无法创建表“外键约束格式不正确” SQL

丹尼尔·穆里宁(Daniel Muurinen)

我是SQL的新手,但是我的SQL代码有一些问题。我一直在搜索有关这种错误的很多信息,但是找不到适合我问题的答案。这是代码示例。

CREATE DATABASE IF NOT EXISTS `PracticaER`;
USE `PracticaER`;

DROP TABLE IF EXISTS Banco;
DROP TABLE IF EXISTS Cuenta;
DROP TABLE IF EXISTS Usuario;

CREATE TABLE Usuario (
id_usuario INT NOT NULL AUTO_INCREMENT,
nombre VARCHAR(10) NOT NULL,
DNI VARCHAR(9) NOT NULL UNIQUE,
usuario VARCHAR(10) NOT NULL,
Contrasena VARCHAR(15) NOT NULL,
PRIMARY KEY (id_usuario)
);

CREATE TABLE Cuenta (
CIF_Banco VARCHAR(20) NOT NULL,
num_cuenta INT NOT NULL,
balance FLOAT NOT NULL DEFAULT 0.0,
fecha_apertura VARCHAR(20) NOT NULL,
DNI VARCHAR(9) NOT NULL,
PRIMARY KEY (num_cuenta),
FOREIGN KEY (DNI) REFERENCES Usuario(DNI)
);

CREATE TABLE Banco (
CIF VARCHAR(20) NOT NULL,
nombre VARCHAR(9) NOT NULL,
cod_oficial INT NOT NULL,
pais VARCHAR(15) NOT NULL,
PRIMARY KEY (CIF),
FOREIGN KEY (CIF) REFERENCES Cuenta(CIF_Banco)
);

当我执行MySQL时,这是错误。基本上,它无法创建表“ Banco”。

<BR> 1005无法创建表格practicaerbanco(错误号:150“外键约束格式不正确”)

威廉·伦兹马(Willem Renzema)

您试图引用Cuenta表中不是UNIQUE或该表的PRIMARY KEY的列。如果您向该表上的列添加索引(如Giorgos Betsos的回答),MySQL允许这样做,但建议不要这样做:

另外,出于性能原因,MySQL要求对引用的列进行索引。但是,系统不强制要求引用的列为UNIQUE或声明为NOT NULL。对于诸如UPDATE或DELETE CASCADE之类的操作,未很好地定义对非唯一键或包含NULL值的键的外键引用的处理。建议您使用仅引用UNIQUE(包括PRIMARY)和NOT NULL键的外键。

使CIF_Banco的PKCuenta或使其成为UNIQUE索引,以执行CREATE TABLE语句,并使约束本身以可预测的方式工作。

将此行添加到Cuenta表的CREATE语句中:

UNIQUE INDEX IDX_CIF(CIF_Banco)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法创建表`mailorder`.`o_details`(错误号:150“外键约束格式不正确”)

来自分类Dev

无法创建表`travel`.`city`(错误号:150“外键约束形成不正确”)

来自分类Dev

Laravel一般错误:1005无法创建表`categories_products`(错误号:150“外键约束格式不正确”)

来自分类Dev

SQLSTATE [HY000]:一般错误:1005无法创建表Data。company_eligibilities(错误号:150“外键约束格式不正确”)

来自分类Dev

无法创建表`socialnetwork`.`login_tokens`(错误号:150“外键约束形成不正确”)

来自分类Dev

外键约束格式不正确-MySQL

来自分类Dev

Laravel上的“外键约束格式不正确”

来自分类Dev

Laravel迁移:“外键约束格式不正确”)

来自分类Dev

Laravel上的“外键约束格式不正确”

来自分类Dev

MySQL 错误 1005:外键约束的格式不正确

来自分类Dev

MySqlException:自引用表上的“外键约束格式不正确”

来自分类Dev

外键约束的格式不正确[同一表]

来自分类Dev

SQL外连接-执行不正确

来自分类Dev

SQL外键约束格式错误

来自分类Dev

创建外键约束的SQL Server错误

来自分类Dev

SQL-无法添加外键约束

来自分类Dev

SQL Fiddle - 无法添加外键约束

来自分类Dev

SQL约束:外键

来自分类Dev

MySQL + Rails:错误:150“外键约束格式不正确”

来自分类Dev

MySQL-errno 150:“外键约束格式不正确”

来自分类Dev

(Laravel 8)错误号:150“外键约束格式不正确

来自分类Dev

laravel 5.4 迁移错误号:150“外键约束的格式不正确”

来自分类Dev

MySQL。不断获取外键约束格式不正确错误

来自分类Dev

错误:150“Laravel 迁移外键约束的格式不正确”

来自分类Dev

sql错误“输入字符串的格式不正确”

来自分类Dev

sql错误“输入字符串的格式不正确”

来自分类Dev

整理Microsoft SQL Server中格式不正确的数据

来自分类Dev

将JSON解析为格式不正确的PL SQL

来自分类Dev

SSIS - 输入字符串的格式不正确 SQL

Related 相关文章

  1. 1

    无法创建表`mailorder`.`o_details`(错误号:150“外键约束格式不正确”)

  2. 2

    无法创建表`travel`.`city`(错误号:150“外键约束形成不正确”)

  3. 3

    Laravel一般错误:1005无法创建表`categories_products`(错误号:150“外键约束格式不正确”)

  4. 4

    SQLSTATE [HY000]:一般错误:1005无法创建表Data。company_eligibilities(错误号:150“外键约束格式不正确”)

  5. 5

    无法创建表`socialnetwork`.`login_tokens`(错误号:150“外键约束形成不正确”)

  6. 6

    外键约束格式不正确-MySQL

  7. 7

    Laravel上的“外键约束格式不正确”

  8. 8

    Laravel迁移:“外键约束格式不正确”)

  9. 9

    Laravel上的“外键约束格式不正确”

  10. 10

    MySQL 错误 1005:外键约束的格式不正确

  11. 11

    MySqlException:自引用表上的“外键约束格式不正确”

  12. 12

    外键约束的格式不正确[同一表]

  13. 13

    SQL外连接-执行不正确

  14. 14

    SQL外键约束格式错误

  15. 15

    创建外键约束的SQL Server错误

  16. 16

    SQL-无法添加外键约束

  17. 17

    SQL Fiddle - 无法添加外键约束

  18. 18

    SQL约束:外键

  19. 19

    MySQL + Rails:错误:150“外键约束格式不正确”

  20. 20

    MySQL-errno 150:“外键约束格式不正确”

  21. 21

    (Laravel 8)错误号:150“外键约束格式不正确

  22. 22

    laravel 5.4 迁移错误号:150“外键约束的格式不正确”

  23. 23

    MySQL。不断获取外键约束格式不正确错误

  24. 24

    错误:150“Laravel 迁移外键约束的格式不正确”

  25. 25

    sql错误“输入字符串的格式不正确”

  26. 26

    sql错误“输入字符串的格式不正确”

  27. 27

    整理Microsoft SQL Server中格式不正确的数据

  28. 28

    将JSON解析为格式不正确的PL SQL

  29. 29

    SSIS - 输入字符串的格式不正确 SQL

热门标签

归档