Ciao,
ho due tabelle fatte nel seguente modo:
codice:
mysql> describe citta;
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| ID | int(11) | NO | PRI | NULL | auto_increment |
| Citta | varchar(35) | YES | | NULL | |
| Cap | int(11) | YES | | NULL | |
+-------+-------------+------+-----+---------+----------------+
3 rows in set (0.02 sec)
mysql> describe utente;
+--------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| User_Id | varchar(20) | NO | PRI | NULL | |
| Nome | varchar(20) | NO | | NULL | |
| Cognome | varchar(20) | NO | | NULL | |
| Data_Nascita | date | NO | | NULL | |
| Indirizzo | varchar(50) | NO | | NULL | |
| Cap | int(11) | NO | | NULL | |
+--------------+-------------+------+-----+---------+-------+
6 rows in set (0.01 sec)
Praticamente devo fare in modo che il campo Cap dela tabella utente prenda il campo Cap della tabella citta come foreign key....devo modificare tale tabella con alter table, ho provato a fare così ma non mi funziona:
ALTER TABLE utente ADD CONSTRAINT CapDeveEsistere FOREIGN KEY (Cap) REFERENCES citta (Cap);
come mai? Cosa sbaglio?
Domanda 2, se ho una tabella come questa:
codice:
mysql> describe comuni;
+------------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------+--------------+------+-----+---------+-------+
| comune | varchar(255) | YES | | NULL | |
| provincia | varchar(255) | YES | | NULL | |
| cap | varchar(255) | YES | | NULL | |
| prefisso_tel | varchar(255) | YES | | NULL | |
| codice_istat | varchar(255) | YES | | NULL | |
| codice_catastale | varchar(255) | YES | | NULL | |
| sito_comune | varchar(255) | YES | | NULL | |
+------------------+--------------+------+-----+---------+-------+
7 rows in set (0.00 sec)
e la tabella è gia popolata di dati c'è modo di cambiargli il tipo del campo cap da varchar ad int e convertire tutti i dati contenuti nella colonna cap da varchar ad int?
Tnx
Andrea