За последние 24 часа нас посетили 27543 программиста и 1815 роботов. Сейчас ищут 1927 программистов ...

INSERT если при назначении внешнего ключа первичного уже нет

Тема в разделе "MySQL", создана пользователем Catrina, 14 июл 2015.

  1. Catrina

    Catrina Новичок

    С нами с:
    24 апр 2015
    Сообщения:
    321
    Симпатии:
    0
    Создаю запись в одной таблице, но иногда происходит ситуация, когда я назначаю внешний ключ, а первичного к нему нет. Например, выбираю товар, который только что был удалён в другой вкладке браузера. Получаю:

    SQLSTATE[23000]:
    Integrity constraint violation: 1452

    Можно ли как-то в запросе смягчить ситуацию, чтобы не было фатальной ошибки или как-то проверить существование первичного ключа?
     
  2. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    Re: INSERT если при назначении внешнего ключа первичного уже

    а сделать запрос не судьба?
     
  3. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    Re: INSERT если при назначении внешнего ключа первичного уже

    INSERT IGNORE :)
     
  4. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Re: INSERT если при назначении внешнего ключа первичного уже

    А это и не фатальная ошибка. Фатальной она становится когда вы ее не обрабатываете. Ловите исключение, проверяйте код ошибки.
     
  5. Catrina

    Catrina Новичок

    С нами с:
    24 апр 2015
    Сообщения:
    321
    Симпатии:
    0
    Re: INSERT если при назначении внешнего ключа первичного уже

    Я так и сделала, try catch