我正在努力编写正则表达式来获取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中的任何有效表达式。请帮忙。提前致谢。
答案 0 :(得分:0)
您可以使用视图。
或者您可以创建用于插入和更新数据库的触发器。在每个操作触发器上将计算列的值。