我正在我的数据库中进行一些数学运算,我想声明将在我的所有程序中都知道的const值.(例如PI)
在MySql中有这样的东西吗?
解决方法:
如果发现以下解决方案令人满意.它基于编译器优化,如果表达式的结果只能返回一行,则使用常量替换表,请参阅MySQL Manual.例如,在指定唯一的非空列的值时就是这种情况.
如果你有一些常量并且不想为每个常量创建一个函数,这尤其有意义.作为奖励,你可以通过使用一些前端来方便地编辑常量值(如果它们用于某些配置目的,不一定是你想要改变pi) – 而不是重新定义函数.传输数据库也可能更容易,因为转储表比转储函数更容易.
CREATE TABLE `constant` (
`id` varchar(45) NOT NULL,
`double_value` DOUBLE DEFAULT NULL,
PRIMARY KEY (`id`)
);
INSERT INTO constant VALUE ('pi', 3.1415);
SELECT constant.double_value / 4 FROM constant WHERE constant.id = 'pi';
-- is translated into SELECT 3.1415 / 4
SELECT table1.field1 / constant.double_value
FROM table1, constant
WHERE constant.id = 'pi';
-- is translated into SELECT table1.field1 / 3.1415 FROM table1
标签:mysql,const
来源: https://codeday.me/bug/20190529/1180087.html