Tema: tablas
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/11/2011, 12:02
sachis77
 
Fecha de Ingreso: octubre-2011
Ubicación: COLOMBIA, Medellín
Mensajes: 42
Antigüedad: 12 años, 6 meses
Puntos: 0
tablas

Hola...
estoy creando una base de datos en donde tengo que crear una tabla (articulos) la cual posee 3 claves primarias codt, codsubtp,ref, en donde codt, codsubtp codigo nitpserian las foraneas he revisado los ripos de datos y todos estan iguales;sinembargo me sale error

esataestas son las tablas que están involucradas en la de artículos
mysql> describe proveedores;
+-----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| nitp | char(10) | NO | PRI | | |
| nombre | varchar(20) | YES | | NULL | |
| telefono | char(10) | YES | | NULL | |
| direccion | varchar(20) | YES | | NULL | |
+-----------+-------------+------+-----+---------+-------+
4 rows in set (0.01 sec)

mysql> describe tproductos;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| codt | char(10) | NO | PRI | | |
| nomtprod | varchar(40) | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
2 rows in set (0.01 sec)

mysql> describe subtprod;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| codt | char(10) | NO | PRI | | |
| codsubtp | char(10) | NO | PRI | | |
| nomstp | varchar(30) | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
3 rows in set (0.01 sec)

mysql> describe medidas;
+--------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+----------+------+-----+---------+-------+
| codigo | int(10) | NO | PRI | 0 | |
| medida | char(10) | YES | | NULL | |
+--------+----------+------+-----+---------+-------+
2 rows in set (0.01 sec)

mysql>
mysql> CREATE TABLE articulos
-> (codt char(10)
,
-> codsubtp char(10)
,
-> refer varchar(50)
,
-> nombre varchar(50)
,
-> prcosto integer
,
-> existencias integer
,
-> codigo int(10) ,
-> nitp char(10)
,
-> primary key (codt, codsubtp, refer)
,
-> foreign key (codt) REFERENCES tproductos (codigo)
,
-> foreign key (codt, codsubtp) REFERENCES subtprod (codt, codsubtp)
,
-> foreign key (nitp) REFERENCES proveedores (nitp)
,
-> foreign key (codigo) REFERENCES medidas (codigo) )
;
ERROR 1005 (HY000): Can't create table 'prueba009.articulos' (errno: 150)
mysql>s son algunas de las tablas y la que debo de crear: