Ciao, devo creare due tabelle collegate fra loro, lo faccio con queste istruzioni (uso Java):
Ma ottengo questo errore:
java.sql.SQLException: Can't create table 'TableManager.Menu' (errno: 150)
Mi sapete dire qual è il problema? Credo abbia a che fare con la FOREIGN KEY perché prima quando non l'avevo messa funzionava. Il punto è che le due tabelle devono essere collegate, in quanto Menu non è altro che un contenitore di Products...
Io inserisco un menu e poi in questo menu devono esserci un certo numero di prodotti, quindi ho pensato di usare le foreign key per fare questa join ma sto sbagliando qualcosa...
Grazie
Codice:
st.executeUpdate("CREATE TABLE IF NOT EXISTS Menu (\n"
+ "\n"
+ "menuId INT UNSIGNED NOT NULL AUTO_INCREMENT,\n"
+ "\n"
+ "productId INT UNSIGNED NOT NULL,\n"
+ "\n"
+ "menuName VARCHAR (20) NOT NULL,\n"
+ "\n"
+ "FOREIGN KEY (productId) REFERENCES Products (productId),\n"
+ "\n"
+ "PRIMARY KEY (menuId)\n"
+ ");");
st.executeUpdate("CREATE TABLE IF NOT EXISTS Products (\n"
+ "\n"
+ "productId INT UNSIGNED NOT NULL AUTO_INCREMENT,\n"
+ "\n"
+ "menuId INT NOT NULL,\n"
+ "\n"
+ "productName VARCHAR (40) NOT NULL,\n"
+ "\n"
+ "productPrice REAL(4,2) UNSIGNED NOT NULL,\n"
+ "\n"
+ "FOREIGN KEY (menuId) REFERENCES Menu (menuId),\n"
+ "\n"
+ "PRIMARY KEY (productId)\n"
+ "\n"
+ ");");
java.sql.SQLException: Can't create table 'TableManager.Menu' (errno: 150)
Mi sapete dire qual è il problema? Credo abbia a che fare con la FOREIGN KEY perché prima quando non l'avevo messa funzionava. Il punto è che le due tabelle devono essere collegate, in quanto Menu non è altro che un contenitore di Products...
Io inserisco un menu e poi in questo menu devono esserci un certo numero di prodotti, quindi ho pensato di usare le foreign key per fare questa join ma sto sbagliando qualcosa...
Grazie