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)
);
Notes:
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 on CLIENTES.
DOUBLE(14, 2) is not the right data type. You want DECIMAL(14, 2)/NUMERIC(14, 2).