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

sam*_*moz 1 mysql alter

我正在使用一个数据库来跟踪读者在书中的位置.我通过页面计数列和当前页面列来完成此操作.

有没有办法添加一个等于(currentpage/pagecount)的'progress'列?

And*_*ore 8

你有两个选择.您可以在以下位置创建该字段SELECT:

SELECT book_id, user_id, (currentpage/pagecount) AS progress FROM user_books;
Run Code Online (Sandbox Code Playgroud)

或创建一个VIEW,这将允许您查询它,而无需明确说明操作:

CREATE VIEW user_books_progress AS
  (SELECT book_id, user_id, (currentpage/pagecount) AS progress FROM user_books);
Run Code Online (Sandbox Code Playgroud)

然后,您可以将您的视图查询为普通表:

SELECT book_id, user_id, progress FROM user_books_progress;
Run Code Online (Sandbox Code Playgroud)

有关算术运算符和视图的更多信息,请参阅文档:

11.5.1:算术运算符
12.1.12.CREATE VIEW语法