Easy 'create table from view' syntax in mysql?

后端 未结 2 368
我寻月下人不归
我寻月下人不归 2021-02-05 00:54

I want to create a table that\'s a cache of results from a view. Is there an easy way to automatically define the table from the view\'s definition, or will I have to cobble it

2条回答
  •  花落未央
    2021-02-05 01:27

    You can do CREATE TABLE SELECT from the view to build it. That should duplicate the view's structure as a new table containing all the view's rows. Here's the MySQL syntax reference for this statement.

    CREATE TABLE tbl_from_view AS    
      SELECT
        col1,
        col2,
        col3,
        col4,
        col5
      FROM your_view;
    

    Note that you will want to be very explicit in your column selections. It isn't advisable to do a SELECT * from the source view. Make sure as well that you have aliases for any calculated or aggregate columns like COUNT(*), MAX(*), (col1 + col2), etc.

提交回复
热议问题