Хотя Иван решил вашу проблему для вашего текущего дизайна базы данных, долгосрочное рассмотрение или просто урок должны были бы сделать вашу таблицу более нормализованной так, чтобы добавление нового объединения происходило каждый раз, когда вы хотите добавить породу.животному не нужно.Благодаря этой простой конструкции вы фактически усложнили свою жизнь.
Когда вы видите повторяющиеся типы свойств на объекте, в вашем случае breedID и breed2ID вы обычно начинаете ощущать что-то гнилое во всех, кроме очень редких случаев.чехлы.
При идеальном дизайне вы будете делать следующее.
1. Сохраните вашу породу как есть.
2. Сделайте животное похожим на животное (animal_id, animal_name).
3. Добавьте новую таблицу animal_breed.Это будет выглядеть так: animal_breed (animal_breed_id, animal_id, breed_id).С animal_bread_id - это pk и уникальный ключ (animal_id, breed_id) с внешними ключами, указывающими обратно на соответствующие таблицы.
Этот дизайн позволяет данному животному принимать один или несколько типов породы без необходимости когда-либовозиться с вашим запросом, чтобы вернуть несколько пород обратно.Ваш текущий дизайн становится кошмаром каждый раз, когда у вас появляется лишняя порода животных.У него есть потенциал, чтобы снизить производительность и сделать техническое обслуживание кошмаром, и к тому же это просто не продуманный дизайн базы данных.