mysql - 如何让 MySQL 数据库中的列成为其他列的函数?

标签 mysql alter

我正在使用一个数据库来跟踪读者在书中的位置。为此,我有一个页数列和一个当前页数列。

有没有办法添加等于 (currentpage/pagecount) 的“进度”列?

最佳答案

您有两个选择。您可以在 SELECT 上创建该字段:

SELECT book_id, user_id, (currentpage/pagecount) AS progress FROM user_books;

或者创建一个VIEW,这将允许您在不明确说明操作的情况下查询它:

CREATE VIEW user_books_progress AS
  (SELECT book_id, user_id, (currentpage/pagecount) AS progress FROM user_books);

然后你可以像普通表一样查询你的 View :

SELECT book_id, user_id, progress FROM user_books_progress;

文档中提供了有关算术运算符和 View 的更多信息:

11.5.1: Arithmetic Operators
12.1.12. CREATE VIEW Syntax

关于mysql - 如何让 MySQL 数据库中的列成为其他列的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1225197/

相关文章:

sql - 如何修改postgresql中的类型?

sql - 更改表SQL字符串-语法错误

php - propel 中的 mysql_real_escape_string 类似函数

sql - 无法在 postgres 中将列更改为整数或 bool 值

mysql - 在mysql中获取好友列表

php - iptolong是如何工作的

sql - redshift 改变 udf 更改所有者

mysql - 增加表中所有列的 varchar() 大小?

mysql - 为什么sqlite中显示 "no such column"却有 `pragma`?

mysql - 不遵守 WHERE 条件