create table语句中函数的正则表达式

时间:2014-12-30 06:54:41

标签: mysql regex

我正在努力编写正则表达式来获取create table语句中的函数。 例如,create table语句可以是 -

CREATE TABLE `table1` (                                                                                                                                                                                                                         
      `a` int(11) NOT NULL AUTO_INCREMENT,                                                                                                                                                                                                          
      `b` varchar(32) DEFAULT NULL,                                                                                                                                                                                                                 
      `c` int(11) AS (((a mod 10)mod 10)) VIRTUAL,                                                                                                                                                                                                  
      `d` varchar(5) AS (left(b,5)) PERSISTENT,                                                                                                                                                                                                     
      KEY `a` (`a`)                                                                                                                                                                                                                                 
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8  

我想获得((((mod 10)mod 10))和(left(b,5))等函数,这些函数只能为VIRTUAL / PERSISTENT列定义。此函数可以是MySQL中的任何有效表达式。请帮忙。提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以使用视图。

或者您可以创建用于插入和更新数据库的触发器。在每个操作触发器上将计算列的值。