小编nad*_*000的帖子

是否可以使用正则表达式在MySQL中强制执行数据检查

假设我有一个名为电话号码的属性,我想对该字段的条目强制执行某些有效性.我可以为此目的使用正则表达式,因为正则表达式在定义约束时非常灵活.

regex mysql triggers enforcement typechecking

8
推荐指数
1
解决办法
6152
查看次数

Postgres按周划分

我可以想象按日期对表进行分区(特别是对日志进行分区)是一种广泛使用的方法,但是我找不到解决我问题的好方法。

我想按周创建一个表分区(记录数量大到每月都可以)。之所以要每周一次,是因为我需要算法的数据,该算法将在过程中查找日期。

我的问题是我希望它考虑周并使用“典型”方法来创建分区,所以我必须手动创建它。这样的事情。

    CREATE TABLE measurement_y2013w01 (
CHECK ( logdate >= DATE '2013-01-07' AND logdate < DATE '2013-01-14' ) 
    ) INHERITS (measurement);

    CREATE TABLE measurement_y2006w02 (
CHECK ( logdate >= DATE '2013-01-14' AND logdate < DATE '2013-01-21' ) 
    ) INHERITS (measurement);

... 
Run Code Online (Sandbox Code Playgroud)

但是我希望它能自动完成。我不想为每个星期一个一个地创建分区。

我给命名的规则是yYYYYwWW来命名分区或开始datadYYYYMMDD。

我想在插入时使用类似以下的方法检查分区:

 SELECT
    nmsp_parent.nspname AS parent_schema,
    parent.relname      AS parent,
    nmsp_child.nspname  AS child,
    child.relname       AS child_schema
FROM pg_inherits
    JOIN pg_class parent        ON pg_inherits.inhparent = parent.oid
    JOIN pg_class child         ON pg_inherits.inhrelid   = child.oid
    JOIN pg_namespace nmsp_parent   ON nmsp_parent.oid  = …
Run Code Online (Sandbox Code Playgroud)

sql postgresql partitioning week-number

6
推荐指数
2
解决办法
3661
查看次数