假设我有一个表,该表的属性名为,类型为'Type',默认值为'A'。我想选择使用此默认值“ A”的表。显而易见的答案是ofc,
select *
from table
where Type='A';
但是我想看看是否有更有效的方法来做到这一点。也许利用'DEFAULT'约束?
这不是一个答案,但我认为这很有趣,我可以看到,如果此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