нарушение ссылочной целостности на MySQL сервере, как его решить?

0

Я создал простую таблицу в MySQL с круговой целостностью. Но это нарушает круговую целостность. Он показывает успешное выполнение запроса, но при попытке вставить данные, даже если он нарушает введенные ограничения. Вот скриншот m mysql console

Изображение 174551

Теги:
referential-integrity

3 ответа

0

Проверьте правильность написания значения в начале инструкции вставки, это должно быть

insert into bb values(1,2);

Кроме того, использование имен столбцов не является хорошей практикой

0

попробуйте следовать

CREATE TABLE 'bb' (
  'ssn' int(11) NOT NULL,
  'superssn' int(11) DEFAULT NULL,
  PRIMARY KEY ('ssn'),
  KEY 'superssn' ('superssn'),
  CONSTRAINT 'bb_ibfk_1' FOREIGN KEY ('superssn') REFERENCES 'bb' ('ssn') 
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
0

это может быть из-за механизма хранения. По умолчанию он может использовать MyISAM.

Попробуйте создать структуру с движком innodb следующим образом

    CREATE TABLE IF NOT EXISTS 'bb' (
  'ssn' int(11) NOT NULL DEFAULT '0',
  'suppperssn' int(11) DEFAULT NULL,
  PRIMARY KEY ('ssn'),
  FOREigN KEY ('suppperssn') REFERENCES bb('ssn')
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню