Ciao, devo creare due tabelle collegate fra loro, lo faccio con queste istruzioni (uso Java):
Ma ottengo questo errore: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.


Rispondi quotando

