Вопросы с добавлением отношений FK по заданию по сборке доктрины

StackOverflow https://stackoverflow.com/questions/3082129

Вопрос

Я дважды проверил мою схему, и ее правильно ... INCACT DOCTRINE также построил его один раз .. И теперь его беспокоит меня с некоторыми отношениями FK ... Я также проверил на типы данных. Все int (4) или int (2)

2 qs Здесь: 1. Есть ли верхний предел в НИО из отношений (зависимости / фКС), стола может иметь? У меня до 7 фкс в таблицах 2. Есть ли верхний предел для нет таблиц, относящихся к родительской таблице (PK)? У меня до 30 полей в 20 таблицах, относящихся к одному идентификационному столбцу в таблице параметров 3. Это определение для поведения Cascase требуется? Я не использовал это!

Лучше жить без отношений в этом случае?

Ошибка:

 SQLSTATE[HY000]: General error: 1005 Can't create table 'sokidb.#sql-268_1d' (errno: 121). Failing Query: "ALTER TABLE Acc_Gl_Accounts ADD CONSTRAINT Acc_Gl_Accounts_society_id_Soc_Societies_id FOREIGN KEY (society_id) REFERENCES Soc_Societies(id)". Failing Query: ALTER TABLE Acc_Gl_Accounts ADD CONSTRAINT Acc_Gl_Accounts_society_id_Soc_Societies_id FOREIGN KEY (society_id) REFERENCES Soc_Societies(id)  

Я также выпустил запросы в MySQL напрямую, это приводит к той же ошибке.

Это было полезно?

Решение

Люди за последние несколько дней я понял, что, вероятно, нет известного вопроса с доктриной.

Моя ошибка заключалась в том, что я определил вариант для моего ключа в одном столе «unsigned: True» и не повторяется то же самое для определения FK :( Вся моя вина, но решение двойной проверки ваших данных.

И лучший способ отладки ошибок, связанных с MySQL - проверять генерируемый сценарию SQL. Вы можете легко определить различия в определениях столбцов.

Спасибо Джону, за ваш интерес.

Другие советы

Вы, вероятно, используете таблицы InnoDB, который по умолчанию для современных версий MySQL и испытывает ошибку ограниченного использования в иностранном виде. Читайте здесь для полного списка рекций.

Соответствующие столбцы в внешнем ключе и ссылочный ключ должны иметь аналогичные внутренние типы данных внутри InnoDB, чтобы их можно сравнить без преобразования типа. Размер и знак целочисленных типов должны быть одинаковыми. Длина типов строк не должна быть прежней. Для небинарных (символов) колонн строки набор символов и сопоставление должны быть одинаковыми.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top