mysql тригер или функция или процедура добрый вечер всем. задача следующая. надо делать около 50 Insert запросов для разных id но insert ы не отличаюся. писать 50 запросов как то не то. думаю написать тригер. вопрос. что лучше тригер писать или функцию. и если у кого есть исходник тригера или функции mysql с циклом то скиньте плиз. и как в этот тригер передать начальный Id и конечный.
ну как то так у меня выходит может кто поправит ///////////////////////////////////////// delimiter // CREATE PROCEDURE insert_into_prices(start INT,end INT) -> BEGIN -> -> DECLARE start int,end int; -> SET i=start; -> loop1: WHILE i<=end DO -> INSERT INTO `prices` (`id_pric`, `id_p`, `service_p`, `price_p`, `sort`, `spare_part`, `price_sp`) VALUES (DEFAULT, i, 'Ремонт одной кнопки на клавиатуре', '190', 0, 'цена одной кнопки', 2800), -> SET i=i+1; -> END WHILE loop1; -> END// delimiter ; ////////////////////// call insert_into_prices(начальное значение id ,конечное значение id);
barnaki зачем делать сложным то, что проще простого? Code: INSERT INTO `tabl`(`id`,`name`,`value`) VALUES (1, 'tratata1', 'bebebe1'), (2, 'tratata2', 'bebebe2'), (3, 'tratata3', 'bebebe3'), (4, 'tratata4', 'bebebe4'), (5, 'tratata5', 'bebebe5')
2 Gifts. просто это не 1 раз надо вставить. а постоянно надо будет по многу значений вставлять. и запарно каждый раз по 50 строк писать.
Чета я не понимаю смысла цикла этого. Меняется только значение id. Смысл, если можно в томже php создать цикл и формировать запрос к БД, как написал Gifts
вот как правильно и все работает DELIMITER // CREATE PROCEDURE insert_into_prices(IN start_value INT,IN end_value INT) BEGIN DECLARE i INT; SET i=start_value; WHILE i<= end_value DO INSERT INTO prices (`id_pric`,`id_p`,`service_p`,`price_p`,`sort`,`spare_part`,`price_sp`) VALUES (DEFAULT, i, 'Ремонт одной кнопки на клавиатуре', '190', 0, 'цена одной кнопки', 2800); SET i=i+1; END WHILE ; END // DELIMITER ; CALL insert_into_prices(1,50);