1. ホーム
  2. mysql

[解決済み] MySqlのデフォルト値に関数を使用することはできますか?

2023-01-21 07:53:13

質問

このようなことをしたいのですが。


create table app_users
(
    app_user_id smallint(6) not null auto_increment primary key,
    api_key     char(36) not null default uuid()
);

しかし、これはエラーになります。mysqlのデフォルト値のための関数を呼び出す方法はありますか?

ありがとうございます。

どのように解決するのですか?

いいえ、できません。

しかし、次のようなトリガーを簡単に作成することができます。

CREATE TRIGGER before_insert_app_users
  BEFORE INSERT ON app_users 
  FOR EACH ROW
  SET new.api_key = uuid();