有没有一种方法可以检查记录是否使用某些列的默认值?

时间:2020-03-02 15:13:03

标签: mysql search default-value

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

select *
from table 
where Type='A';

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

1 个答案:

答案 0 :(得分:0)

这不是答案,但我认为这很有趣,我可以看到如果这个WHERE Type IS DEFAULT确实存在,那将很有用。

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

我正在详细说明Paul关于查询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