是否可以检查记录是否对某些列使用默认值?

问题描述 投票:-1回答:1

假设我有一个表,该表的属性名为,类型为'Type',默认值为'A'。我想选择使用此默认值“ A”的表。显而易见的答案是ofc,

select *
from table 
where Type='A';

但是我想看看是否有更有效的方法来做到这一点。也许利用'DEFAULT'约束?

mysql search default-value
1个回答
0
投票

这不是一个答案,但我认为这很有趣,我可以看到,如果此WHERE Type IS DEFAULT存在,那么它会很有用。

动态的东西;无需在WHERE条件下显式定义默认值。

我正在详细说明保罗对查询information_schema的评论,查询可能看起来像这样:

SELECT * FROM example1 A INNER JOIN 
        (SELECT column_default 
         FROM information_schema.columns 
         WHERE table_schema='test' 
         AND table_name='example1') B
ON A.Val=B.column_default;

它更长,而不是显式定义默认值,我必须定义table_schema和table_name;事实证明,这远非动态的。我也准备了小提琴https://www.db-fiddle.com/f/8idH1J7PnyvRwU8tQhyzMb/0

© www.soinside.com 2019 - 2024. All rights reserved.