外键约束不正确 - java-mysql [英] Foreign key constraint is incorrectly formed - java-mysql
本文介绍了外键约束不正确 - java-mysql的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
什么是mysql问题?
我不知道错误是什么,因为我之前没有使用过外键
what is the mysql problem ?? I do not know what the error is since I had not used foreign keys before
String clientes = "CREATE TABLE clientes("+
"ID INTEGER NOT NULL AUTO_INCREMENT,"+
"CUENTA INTEGER,"+
"NOMBRE VARCHAR(255),"+
"EDAD INTEGER,"+
"ADICIONAL INTEGER,"+
"DOMICILIO VARCHAR(255),"+
"PRIMARY KEY(ID))";
String cuenta = "CREATE TABLE cuenta("+
"CUENTA INTEGER,"+
"SALDOAFAVOR DOUBLE(14,2),"+
"SALDOENCONTRA DOUBLE(14,2),"+
"FECHACORTE DATE,"+
"LIMITECREDITO DOUBLE(14,2),"+
"FOREIGN KEY(CUENTA) REFERENCES clientes(CUENTA))";
推荐答案
正确的引用和定义将使用主键:
The correct reference and definition would use the primary key:
CREATE TABLE cuenta (
CUENTA INTEGER AUTO_INCREMENT PRIMARY KEY,
CLIENTE_ID INT,
SALDOAFAVOR NUMERIC(14, 2),
SALDOENCONTRA NUMERIC(14, 2),
FECHACORTE DATE,
LIMITECREDITO NUMERIC(14,2),
FOREIGN KEY(CLIENT_ID) REFERENCES clientes(ID)
);
注意:
-
CUENTA
好像应该是这个表的主键。 - 外键引用应该使用id
客户
。 -
您不需要
。CUENTA
>客户 -
DOUBLE(14,2)
不是正确的数据类型。你想要DECIMAL(14,2)
/NUMERIC(14,2)
。
CUENTA
seems like it should be the primary key of this table.- The foreign key reference should use the id on
CLIENTES
. - You don't need
CUENTA
onCLIENTES
. DOUBLE(14, 2)
is not the right data type. You wantDECIMAL(14, 2)
/NUMERIC(14, 2)
.
这篇关于外键约束不正确 - java-mysql的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文