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

MySQL数据库中的一列如何成为其他列的函数?,mysql,alter,Mysql,Alter,我正在使用一个数据库来跟踪读者在书中的位置。我通过拥有一个页面计数列和一个当前页面列来实现这一点 有没有办法添加一个等于(currentpage/pagecount)的“progress”列?您有两个选择。您可以在上创建该字段,然后选择: SELECT book_id, user_id, (currentpage/pagecount) AS progress FROM user_books; 或者创建一个视图,该视图允许您在不明确说明操作的情况下查询该视图: CREATE VIEW user_

我正在使用一个数据库来跟踪读者在书中的位置。我通过拥有一个页面计数列和一个当前页面列来实现这一点


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

您有两个选择。您可以在
上创建该字段,然后选择

SELECT book_id, user_id, (currentpage/pagecount) AS progress FROM user_books;
或者创建一个
视图
,该视图允许您在不明确说明操作的情况下查询该视图:

CREATE VIEW user_books_progress AS
  (SELECT book_id, user_id, (currentpage/pagecount) AS progress FROM user_books);
然后,您可以将视图作为普通表进行查询:

SELECT book_id, user_id, progress FROM user_books_progress;
有关算术运算符和视图的更多信息,请参见文档:



你有两个选择。您可以在
上创建该字段,然后选择

SELECT book_id, user_id, (currentpage/pagecount) AS progress FROM user_books;
或者创建一个
视图
,该视图允许您在不明确说明操作的情况下查询该视图:

CREATE VIEW user_books_progress AS
  (SELECT book_id, user_id, (currentpage/pagecount) AS progress FROM user_books);
然后,您可以将视图作为普通表进行查询:

SELECT book_id, user_id, progress FROM user_books_progress;
有关算术运算符和视图的更多信息,请参见文档:



不能将列定义为函数。至少有两种解决方法:

  • 使用更新前触发器更新进度列,插入前也需要一个触发器
  • 使用为您计算进度列的视图

不能将列定义为函数。至少有两种解决方法:

  • 使用更新前触发器更新进度列,插入前也需要一个触发器
  • 使用为您计算进度列的视图