Задать вопрос
@phpcoder81

Как правильно указать внешний ключ InnoDB?

Ребят, наткнулся на проблему. Есть таблица "заказы". В ней есть поле USER. Это внешний ключ к полю таблицы `users`.`id`. Все дело в том, что иногда заказ можно оформить НЕ зарегистрированному пользователю. В этом случае в поле USER хотелось бы поставить 0. Но тк нет такого ID то MYSQL ругается. Остаются решения:
1) НЕ СОЕДИНЯТЬ эти таблицы внешним ключом.
2) Я еще подумал, создать таблицу пользователей, и в ней указать номер 1 как "na". В этом случае тоже все получается.
  • Вопрос задан
  • 421 просмотр
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Stepik
    PRO C#. Базы данных
    2 месяца
    Далее
  • Академия Эдюсон
    Python-разработчик + ИИ
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Java-разработчик + ИИ
    9 месяцев
    Далее
Решения вопроса 2
qonand
@qonand
Software Engineer
достаточно полю присвоить значение NULL если заказ оформляет не зарегистрированный пользователь
Ответ написан
Комментировать
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы