MySQL 5.0.18 (InnoDB) не создаются связи через FOREIGN KEY

PitBult

Новичок
MySQL 5.0.18 (InnoDB) не создаются связи через FOREIGN KEY

Доброго времени суток!

Вот возникла проблема с созданием связей в MySQL 5.0.18.

Создаю БД и выполняю следующий SQL-синтаксис:

PHP:
CREATE TABLE `member` (
  `id` int(11) NOT NULL auto_increment,
  `login` varchar(30) NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Пользователи';


CREATE TABLE `member_info` (
  `member_id` int(11) NOT NULL auto_increment,
  `name` varchar(30) NOT NULL default '',
  `member_id2` int(11) NOT NULL,
  PRIMARY KEY  (`member_id`),
  CONSTRAINT `member_info_fk` FOREIGN KEY (`member_id2`)
	REFERENCES `member` (`id`)
	ON DELETE CASCADE ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Информация о пользователе';
Код успешно выполняется, но если посмотреть что получилось и сделать ДАМП существующей структуры (), то выдается следующее:

-- phpMyAdmin SQL Dump
-- version 2.10.1

PHP:
CREATE TABLE `member` (
  `id` int(11) NOT NULL auto_increment,
  `login` varchar(30) NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Пользователи';

CREATE TABLE `member_info` (
  `member_id` int(11) NOT NULL auto_increment,
  `name` varchar(30) NOT NULL default '',
  `member_id2` int(11) NOT NULL,
  PRIMARY KEY  (`member_id`),
  KEY `member_info_fk` (`member_id2`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Информация о пользователе';
т.е. вместо FOREIGN KEY он выдает просто индексный ключ KEY.


И второй вопрос, как осуществить связь 1:1 (один к одному) и чтобы при этом была возможность каскадного удаления записей связанных таблиц?

Кстати, никто не знает, как можно делать связи визуально через phpMyAdmin?

Заранее благодарю, потому как перерыл кучу документации и много примеров.
 

baev

‹°°¬•
Команда форума
Кстати, никто не знает, как можно делать связи визуально через phpMyAdmin?
— мне попадался скрипт, нацеленный именно на визуальное проектирование связей с использованием phpMyAdmin.
К сожалению, названия не помню. Помню только, что автор скрипта — из России.
 

Wicked

Новичок
м.б. в майадмине дамп как-нибудь криво сделан? попробуй выполнить запрос show create table `member_info`;
 

Fally

Новичок
Для графического рисования связей, да и вообще проектирования БД могу посоветовать MicroOLAP Database Designer for MySQL. Очень простая и в тоже время мощная программа.
 
Сверху