MySQL에서 기본값으로 함수 사용
기본적으로 MySQL은 함수를 열의 기본값으로 사용하는 것을 지원하지 않습니다. 이는 제공된 예에서 분명하게 드러납니다.
create table app_users ( app_user_id smallint(6) not null auto_increment primary key, api_key char(36) not null default uuid() );
이 쿼리는 오류를 발생시킵니다. 그러나 유사한 기능을 구현하기 위한 해결 방법이 있습니다.
트리거 사용
기본값에 대한 함수 사용을 시뮬레이션하는 한 가지 방법은 트리거를 사용하는 것입니다. 트리거는 테이블에 데이터를 삽입하는 등 특정 이벤트가 발생할 때 자동으로 실행되는 데이터베이스 개체입니다. api_key 값을 생성하는 데 사용할 수 있는 트리거는 다음과 같습니다.
CREATE TRIGGER before_insert_app_users BEFORE INSERT ON app_users FOR EACH ROW SET new.api_key = uuid();
이 트리거는 app_users 테이블에 삽입되기 전에 실행됩니다. 새로 삽입된 행의 api_key 열을 uuid() 함수에 의해 생성된 UUID 값으로 설정합니다.
제한 사항 및 고려 사항
트리거를 사용하면 해결 방법이 제공되지만, 제한 사항이 있습니다.
기타 접근 방식
In 트리거 외에도 다른 접근 방식이 있습니다. 고려 사항:
가장 좋은 접근 방식은 애플리케이션의 특정 요구 사항과 제약 조건에 따라 달라집니다.
위 내용은 MySQL 열은 기본값으로 함수를 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!