Eu já tinha criado as suas tabelas corretamente. Agora criei elas com um 2 na frente (só para não apagar a my_contacts e a jobs). Tentei apagar a foreign key criada na tabela my_contacts2 a fim de adicioná-la com ALTER TABLE (como você mostrou acima). mysql> ALTER TABLE my_contacts2 DROP FOREIGN KEY idjob;
ERROR 1025 (HY000): Error on rename of '.\gregslist\my_contacts2' to '.\gregslist\#sql2-72c-2' (errno: 152)
Consegui Denis, muito obrigado! Segue abaixo o que eu fiz:
1º ) Criei as tabelas mas com 2 na frente para não precisar apagar a my_contacts e jobs:
mysql> CREATE TABLE my_contacts2
-> (
-> id_contact INT NOT NULL AUTO_INCREMENT,
-> last_name varchar(30) ,
-> first_name varchar(20) ,
-> email varchar(50) ,
-> gender char(1),
-> birthday date ,
-> idjob INT(11) NOT NULL DEFAULT 0,
-> location varchar(50),
-> status varchar(20),
-> interests varchar(100),
-> seeking varchar(100),
-> city VARCHAR(20),
-> state CHAR(2),
-> PRIMARY KEY(id_contact),
-> CONSTRAINT my_contacts2_fk FOREIGN KEY (idjob) REFERENCES jobs2 (idjob) ON DELETE CASCADE ON UPDATE CAS
CADE
-> );
Query OK, 0 rows affected (0.02 sec)
2º ) Removi a constraint:
mysql> ALTER TABLE my_contacts2 DROP FOREIGN KEY my_contacts2_fk;
Query OK, 0 rows affected (0.06 sec)
3º ) Adicionei a constraint:
mysql> ALTER TABLE my_contacts2
-> ADD CONSTRAINT my_contacts2_fk FOREIGN KEY(idjob) REFERENCES jobs2(idjob);
Query OK, 0 rows affected (0.06 sec)
4º ) Repeti o 2º passo, removi a coluna idjob e adicionei-a logo em seguida:
mysql> ALTER TABLE my_contacts2
-> DROP COLUMN idjob;
Query OK, 0 rows affected (0.08 sec)
mysql> ALTER TABLE my_contacts2
-> ADD COLUMN idjob INT NOT NULL DEFAULT 0 AFTER birthday;
Query OK, 0 rows affected (0.06 sec)
5º ) Por fim, adicionei a constraint de novo e usei DESC na tabela:
mysql> ALTER TABLE my_contacts2
-> ADD CONSTRAINT my_contacts2_fk FOREIGN KEY(idjob) REFERENCES jobs2(idjob);
Query OK, 0 rows affected (0.06 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> DESC my_contacts2;
+------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+----------------+
| id_contact | int(11) | NO | PRI | NULL | auto_increment |
| last_name | varchar(30) | YES | | NULL | |
| first_name | varchar(20) | YES | | NULL | |
| email | varchar(50) | YES | | NULL | |
| gender | char(1) | YES | | NULL | |
| birthday | date | YES | | NULL | |
| idjob | int(11) | NO | MUL | 0 | |
| location | varchar(50) | YES | | NULL | |
| status | varchar(20) | YES | | NULL | |
| interests | varchar(100) | YES | | NULL | |
| seeking | varchar(100) | YES | | NULL | |
| city | varchar(20) | YES | | NULL | |
| state | char(2) | YES | | NULL | |
+------------+--------------+------+-----+---------+----------------+
13 rows in set (0.00 sec)