집 >데이터 베이스 >MySQL 튜토리얼 >MySQL은 기본 열 값을 설정하기 위해 함수를 사용할 수 있습니까?
MySQL에서 함수에 기본값 할당
MySQL에서 테이블 열의 기본값은 일반적으로 상수 또는 상수와 같은 정적 값으로 설정됩니다. 표현. 그러나 일부 사용자는 기능을 사용하여 기본값을 할당하려는 경우가 발생할 수 있습니다. 이 질문은 그러한 기능이 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() );
답변:
아니요, MySQL은 함수를 사용하여 기본 열 값을 할당하는 것을 허용하지 않습니다. 그렇게 하면 오류가 발생합니다.
해결책:
MySQL 자체는 함수 기반 기본값을 지원하지 않지만 트리거를 사용하면 해결 방법을 얻을 수 있습니다. 다음은 app_users 테이블에 새 행을 삽입하기 전에 api_key 열에 기본 UUID 값을 할당하는 예제 트리거입니다.
CREATE TRIGGER before_insert_app_users BEFORE INSERT ON app_users FOR EACH ROW SET new.api_key = uuid();
이 트리거는 자동으로 새 UUID를 생성하고 각각의 새 항목에 대해 api_key 열에 할당합니다. app_users 테이블에 행이 삽입되었습니다.
위 내용은 MySQL은 기본 열 값을 설정하기 위해 함수를 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!