반응형
declare c int
set c = 1
while c<700 do
update users set profile_display_name = concat(substring(first_name,1,1), last_name)
where profile_display_name is null and id between ((c-1)*10000+1) and (c*10000);
SET c = c+1;
End while ;
오류가 발생합니다. 선언과 while 문을 종료합니다. 내가 어디에서 실수하고 있니 ??
해결 방법
이것은 나를 위해 훨씬 더 잘 작동합니다.
DELIMITER $$
CREATE DEFINER=`ops`@`localhost` PROCEDURE `myproc`()
BEGIN
DECLARE c INT;
SET c = 1;
WHILE c < 700 DO
SELECT CONCAT('Loop #:', c) ;
update users
set profile_display_name = concat(substring(first_name,1,1), last_name)
where (profile_display_name is null or profile_display_name = '')
and id between ((c-1)*10000+1) and (c*10000);
commit;
SET c=c+1;
END WHILE;
END
참조 페이지 https://stackoverflow.com/questions/9915315
반응형
'MySql' 카테고리의 다른 글
MySQL Change date format in php retrieved from mysql (0) | 2020.09.18 |
---|---|
MySQL 단일 쿼리에서 합계 및 합계로 그룹 가져 오기 (0) | 2020.09.18 |
MySQL SET GLOBAL max_allowed_packet이 작동하지 않습니다. (0) | 2020.09.18 |
MySQL 성능-단일 값에 대한 "IN"절과 같음 (=) (0) | 2020.09.18 |
MySQL Magento-재색 인 프로세스에 문제가 있습니다.-카탈로그 제품 (0) | 2020.09.18 |
댓글