当前位置: 首页 > 面试题库 >

我可以在MySql中使用函数作为默认值吗?

何睿范
2023-03-14
问题内容

我想做这样的事情:

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

但是,这会导致错误,是否可以在mysql中为默认值调用函数

谢谢。


问题答案:

不,你不能。

但是,您可以轻松创建触发器来执行此操作,例如:

创建触发器before_insert_app_users
  在app_users上插入之前 
  每行
  SET new.api_key = uuid();


 类似资料:
  • 问题内容: Swift函数一个非常方便的功能是函数参数可以具有默认值: 如果参数是闭包,是否有办法使它具有默认值?请参阅以下示例: 有没有办法不强迫开发人员为或在调用时传递值? 问题答案: 是的,函数只是您的值,因此您可以将它们作为默认值提供: 另外,您可以将它们设为可选,这样就可以检测到呼叫者是否通过了: 同样值得注意的是:如果调用方使用结尾的闭包语法,则这将是参数列表中的 最后一个 闭包。因此

  • 问题内容: 我想将类属性用作类方法的参数之一的默认值。但是,此构造引发了一个异常,而我不明白为什么: 为什么会失败,并且有办法做到这一点? 问题答案: 这是因为,根据文档: 执行功能定义时将评估默认参数值。 这意味着在定义函数时,表达式将被计算一次 当定义了时,的定义是不完整的,因为它仍在解析中,因此您还不能参考。解决该问题的一种方法是将一个特殊的唯一值传递给,例如:

  • 问题内容: 我正在尝试执行此操作,但是MySQL似乎不允许我这样做。是否有解决此问题的方法,或者我希望总是在我的INSERT查询中包括该函数? 我知道可以接受CURRENT_TIMESTAMP缺省值的TIMESTAMP类型,但是我的客户端坚持使用数据库中的纪元时间。 问题答案: MySQL实现数据类型的方式,实际上是将纪元时间存储在数据库中。因此,如果您想将其显示为int,则可以使用默认值为的列并

  • PHP在上述行中如下所示: ? 编辑:函数在类中

  • 问题内容: 我可以在mysql中使用聚合函数(LAST)吗? 如果是,那么为什么给我以下查询错误: 错误 ::您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以在第1行的’()FROM group by ‘ 附近使用正确的语法 编辑 ::我得到答案“最后一个”不在MySql中使用。那么如何在MySql中执行呢? 问题答案: 不,在mysql中没有所谓的LAST 查看汇总函数列表

  • 问题内容: 我目前正在使用@Value Spring 3.1.x注释,如下所示: 如果属性不存在,则将空字符串放入变量中。我想将null作为默认值,而不是一个空String。当然,当未设置属性stuff.value时,我也想避免发生错误。 问题答案: 您必须设置PropertyPlaceholderConfigurer的nullValue 。例如,我使用的是字符串,但您也可以将空字符串用作null