@mk11

Почему не проходит запрос из-за foreign key?

База данных client:
60773ad6d70b6290675996.jpeg
База данных gender:
60773b0b840b8157818287.jpeg
Я выполняю запрос:
INSERT INTO client (FirstName, LastName, Patronymic, Birthday, RegistrationDate, Email, Phone, GenderCode, PhotoPath) VALUES ('111', '111', '111', '1999-10-10', '2021-04-14 09:54:49', '111', '111', 'м', '111')

Ошибка:
Cannot add or update a child row: a foreign key constraint fails (`demotest`.`client`, CONSTRAINT `FK_Client_Gender` FOREIGN KEY (`GenderCode`) REFERENCES `gender` (`Code`) ON DELETE NO ACTION ON UPDATE NO ACTION)

Я выполняю запросы так:
public static ResultSet executeQuery (String sql) {
        ResultSet resultSet = null;
        System.out.println(sql);
        try {
            PreparedStatement preparedStatement = connection.prepareStatement(sql);
            if (sql.contains("SELECT")) {
                resultSet = preparedStatement.executeQuery();
            } else {
                preparedStatement.executeUpdate();
            }
        } catch (SQLException throwables) {
            throwables.printStackTrace();

        }
        return resultSet;

    }

Почему происходит такая ошибка?
  • Вопрос задан
  • 83 просмотра
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
У вас в таблице gender нет записи с Code = 'м'.
Поэтому срабатывает ограничение на запись в связанное поле GenderCode.
Ответ написан
Комментировать
@Mercury13
Программист на «си с крестами» и не только
Подозреваю глюки с кодировками. В проге-админке работает?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы