hola tengo un ptoblema en mysql al crear una tabla me sale el sig error:
Can't create table 'prueba009.productos' (errno: 150)
he revisado los datosd y la no encuentro la diferencia en los ripos de datos, que puedo hacer
| |||
base de datos hola tengo un ptoblema en mysql al crear una tabla me sale el sig error: Can't create table 'prueba009.productos' (errno: 150) he revisado los datosd y la no encuentro la diferencia en los ripos de datos, que puedo hacer |
| ||||
Respuesta: base de datos Hola sachis77 podrías colocar la query de la tabla que estas tratando de crear?
__________________ Internet es tener todo el conocimiento global a tu disposición. Desarrollo de Software - Ejemplos .Net |
| |||
Respuesta: base de datos Hola. Solo hay dos posibles casos en los que nos podría fallar, con este error, nuestra creación de tablas en una base de datos. Si los dos campos (Nombre de campo y el nombre de campo foráneo) usan tipos de campo incompatibles. Si tu usas “On Delete Set Null” pero el campo no lo permite, te devolverá el error. Saludos. |
| ||||
Respuesta: base de datos lo que dice manixalex es cierto por eso es bueno que coloques el codigo del query que estas tratando de crear para identificar el punto del error y ver las posibles FK que tengas. Aportar ademas que hubo caso parecidos aqui te dejo el enlace : can't create table errno 150
__________________ Internet es tener todo el conocimiento global a tu disposición. Desarrollo de Software - Ejemplos .Net |
| |||
Respuesta: base de datos estas 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> |
| ||||
Respuesta: base de datos sachis77 para que obtengas mas ayuda sobre tu problema este hilo deberías derivarlo al Foro MYSQL ya que este problema es netamente del motor de base datos. El error radica aquí :
Código MySQL:
si se elimina la primera linea y queda la segunda ya que en la segunda estas derivando 2 columnas como pk. Ver original
__________________ Internet es tener todo el conocimiento global a tu disposición. Desarrollo de Software - Ejemplos .Net Última edición por Aquaventus; 03/11/2011 a las 10:45 |
| ||||
Respuesta: base de datos Comenta esta linea
Código MySQL:
y deja soloVer original
Código MySQL:
ya que como lo relacionas los 2 como fk, se hace como una cadena de secuencia y creo yo sería repetitivo e ilógico darle otra referencia nuevamente.Ver original Pruébalo y nos comentas. Saludos! ![]() PDT: Haré una notificación para que lo promuevan al foro de MYSQL.
__________________ Internet es tener todo el conocimiento global a tu disposición. Desarrollo de Software - Ejemplos .Net |
Etiquetas: |