본문 바로가기
카테고리 없음

mysql 에서 제품 이름으로 url slug 생성하기

by 웹디자인 2025. 1. 9.

MySQL에서는 내장 함수만으로 슬러그를 생성하기 어려울 수 있으므로, 이를 위한 사용자 정의 함수를 작성할 수 있습니다.

아래와 같이 별도의 함수를 프롬프트에서 선언한 후 사용할 수 있습니다.

 

슬러그 생성용 함수 만들기

 

DELIMITER //

CREATE FUNCTION generate_slug(str VARCHAR(255)) RETURNS VARCHAR(255)
DETERMINISTIC
BEGIN
    DECLARE result VARCHAR(255);

    -- 공백을 하이픈으로 변경
    SET result = REPLACE(str, ' ', '-');

    -- 모든 문자를 소문자로 변환
    SET result = LOWER(result);

    -- 알파벳과 숫자, 하이픈만 남기고 제거
    SET result = REGEXP_REPLACE(result, '[^a-z0-9-]', '');

    -- 연속된 하이픈을 하나로 축소
    SET result = REGEXP_REPLACE(result, '-+', '-');

    -- 앞뒤 하이픈 제거
    SET result = TRIM(BOTH '-' FROM result);

    RETURN result;
END //

DELIMITER ;

 

UPDATE your_table
SET slug = generate_slug(product_name);

댓글