Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-11-2007
Josepo Josepo is offline
Miembro
 
Registrado: nov 2007
Ubicación: Barcelona
Posts: 14
Poder: 0
Josepo Va por buen camino
Error al crear relación con phpMyAdmin

Hola a todos. Tengo dos tablas para relacionar con base InnoDB y la gestiono con phpMyAdmin da un error al hacerlo.

Los datos principales de la relación son:

tabla Cliente
cli_id (primaria)

tabla Factura
fra_id (primaria)
fra_idcliente (index)

Entro en la tabla Factura, pico al enlace "Vista de relaciones", aquí tengo opción a relacionar fra_idcliente con cli_id.
En la línea fra_idcliente, indico campo con el que relaciono, aparece como cliente->cli_id, luego ON DELETE marco CASCADE, y en ON DELETE marco NO ACTION. Pulso botón Grabar y aparece un error: No se ha definido el índice (fra_idcliente), cosa que no tiene ni pies ni cabeza, porque el índice si está definido.

He probado de diferentes maneras (volviendo a crear la base entera, jugando con otras opciones) y siempre me da el mismo mensaje, ¿alguien tiene idea de que pasa?, ¿puede que me esté equivocando haciendo servir phpMyAdmin?, ¿me recomendáis algún otro o continuo con él?

Gracias por vuestra atención.
Responder Con Cita
  #2  
Antiguo 30-11-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Hola, Mira Talvez exista la posibilidad de que los campos que hay que relacionar deben ser Primary Key y no indices. intentalo cambiando el campo primario de la tabla factura.

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #3  
Antiguo 01-12-2007
Josepo Josepo is offline
Miembro
 
Registrado: nov 2007
Ubicación: Barcelona
Posts: 14
Poder: 0
Josepo Va por buen camino
Hola enecumene, he probado y da el mismo error.

Por otra parte un campo marcado como primary key tiene que ser único en la tabla (identifica un registro de la tabla entre el resto), y en el caso de fra_idcliente es normal que no sea único, ya que un cliente puede tener muchas facturas.

Voy a bajar DBDesigner y probaré de crear relaciones allí a ver si hay más suerte.
Responder Con Cita
  #4  
Antiguo 12-07-2011
Avatar de Godzuki
Godzuki Godzuki is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 26
Poder: 0
Godzuki Va por buen camino
Espero te sirva esto

Saludos, a mi me salia el mismo error. Hay que checar dos cosas:
1. que la tabla sea InnoDB.
2. Que los campos que desees relacionar sean indices (ya sea un primario y un indice normal)

Probablemente el tipo de tabla es MyISAM (no soporta relaciones). Debes cambiar las tablas que desees relacionar a InnoDB (si soporta relaciones).

Para hacer eso, en PHPMyAdmin desde el inicio:
1. Debes dar click en: Bases de datos >> "Nombre_DB"
2. Checar que tus tablas sean InnoDB, en la columna "tipo" debe decir "InnoDB"
Si no son InnoDB:
3. Dar click en el boton "estructura" de dicha tabla (icono de hoja blanca con una mano blanca) junto al nombre de la tabla.
4. Dar click en "Operaciones"
5. Eleir en "motor de almacenamiento" la opcion InnoDB.
6.Dar click en "continuar"

Ahora en la lista de tablas debe salir en la columna "tipo" : InnoDB

Despues de eso debe poderse relacionar los campos.

Nota: en caso de que aun no se pueda, es probable que necesites establecer el campo inicial como "llave primaria" y el otro como "indice"
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como crear y configurar tablas Innodb con PHpMyAdmin flystar MySQL 0 05-07-2006 20:36:19
Problemas de uso de phpMyAdmin elcigarra MySQL 3 01-05-2006 22:27:20
Configurar PhpmyAdmin en Apache Sasuke_Cub PHP 2 17-01-2006 21:30:22
error al crear tabla albarchi MySQL 2 10-02-2005 20:26:01
scripts en phpmyadmin __cadetill PHP 39 22-04-2004 00:10:20


La franja horaria es GMT +2. Ahora son las 07:06:04.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi