BEGIN
declare countRow INT default 0;
DECLARE idRow INT DEFAULT 0;
SELECT count(*), id
INTO countRow, idRow
FROM `film`
WHERE `name` LIKE nameFilm
AND `original_name` LIKE original_name1
AND `year` LIKE year1
GROUP BY id;
IF countRow > 0 THEN
UPDATE `film` SET name = nameFilm,original_name = original_name1,description = description1, world_rating = world_rating1,russia_rating = russia_rating1, time = time1, cash = cash1,budget = budget1,year = year1,dateRF = dateRF1, dateW = dateW1, poster = poster1, trailer = trailer1
WHERE id = idRow;
ELSE
INSERT film (name,original_name,description,world_rating,russia_rating,time,cash,budget,year,dateRF,dateW,poster,trailer)
VALUES (nameFilm,original_name1,description1,world_rating1,russia_rating1,time1,cash1,budget1,year1,dateRF1,dateW1,poster1,trailer1);
SELECT id
INTO idRow
FROM film
WHERE name LIKE nameFilm
AND original_name LIKE original_name1
AND year LIKE `year1`;
END IF;
RETURN idRow;
END
Функция проверяет про 3м параметрам на дубликаты и в соответствии вставляет или обновляет записи. Суть в том, что если один из параметров приходит пустым, то она возвращает 0, вместо id. Как можно не сильно громоздко сделать проверку на то, что параметр приходит пустым и если приходит, то сравнивать уже по 2м параметрам.
Виртуальный выделенный сервер (VDS) становится отличным выбором
} static class ButtonFrame extends JFrame{ public ButtonFrame(){ setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);//frame size setTitle("Scale"); ButtonPanel panel=new ButtonPanel(); add(panel);