1. <tfoot id='AJSMe'></tfoot>
        <bdo id='AJSMe'></bdo><ul id='AJSMe'></ul>
      <i id='AJSMe'><tr id='AJSMe'><dt id='AJSMe'><q id='AJSMe'><span id='AJSMe'><b id='AJSMe'><form id='AJSMe'><ins id='AJSMe'></ins><ul id='AJSMe'></ul><sub id='AJSMe'></sub></form><legend id='AJSMe'></legend><bdo id='AJSMe'><pre id='AJSMe'><center id='AJSMe'></center></pre></bdo></b><th id='AJSMe'></th></span></q></dt></tr></i><div id='AJSMe'><tfoot id='AJSMe'></tfoot><dl id='AJSMe'><fieldset id='AJSMe'></fieldset></dl></div>

      1. <small id='AJSMe'></small><noframes id='AJSMe'>

        <legend id='AJSMe'><style id='AJSMe'><dir id='AJSMe'><q id='AJSMe'></q></dir></style></legend>

        如何在表 MYSQL 的子集中自动递增

        How auto-increment within a subset of the table MYSQL(如何在表 MYSQL 的子集中自动递增)
          <tfoot id='W1kpk'></tfoot>

          • <small id='W1kpk'></small><noframes id='W1kpk'>

              <i id='W1kpk'><tr id='W1kpk'><dt id='W1kpk'><q id='W1kpk'><span id='W1kpk'><b id='W1kpk'><form id='W1kpk'><ins id='W1kpk'></ins><ul id='W1kpk'></ul><sub id='W1kpk'></sub></form><legend id='W1kpk'></legend><bdo id='W1kpk'><pre id='W1kpk'><center id='W1kpk'></center></pre></bdo></b><th id='W1kpk'></th></span></q></dt></tr></i><div id='W1kpk'><tfoot id='W1kpk'></tfoot><dl id='W1kpk'><fieldset id='W1kpk'></fieldset></dl></div>

                <tbody id='W1kpk'></tbody>
            1. <legend id='W1kpk'><style id='W1kpk'><dir id='W1kpk'><q id='W1kpk'></q></dir></style></legend>
              • <bdo id='W1kpk'></bdo><ul id='W1kpk'></ul>

                  本文介绍了如何在表 MYSQL 的子集中自动递增的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  为了说明我的问题,我将使用作者和书籍的类比.

                  To illustrate my problem I will use the analogy of authors and books.

                  我有 2 个表作者"和书".作者是独一无二的,书籍使用外键约束与特定作者相关联.

                  I have 2 tables "author" and "books". Authors are unique and books are tied to a specific authors using a foreign key constraint.

                  我想知道是否有可能在books"表中有一个名为booknum"的列,它会在单个作者的子集中自动递增.因此,如果该表有 100 行并且我插入了作者的第 4 本书,那么它会将 4 放入booknum"列中.

                  I was wondering if it was possible to have a column called "booknum" in the "books" table that auto-increment within the subset of a single author. So if the table has 100 rows and im inserting the 4th book of an author it puts a 4 into the "booknum" column.

                  例如,如果书籍表有 6 行:

                  For example if the books table had 6 rows:

                  id | authors_id | booknum | name
                  
                  1  | 1          | 1       | "hello"
                  
                  2  | 1          | 2       | "goodbye"
                  
                  3  | 2          | 1       | "booktitle"
                  
                  4  | 3          | 1       | "more title"
                  
                  5  | 1          | 3       | "nametwo"
                  
                  6  | 2          | 2       | "nameone"
                  

                  这在 mysql 中是可能的还是我需要去检查最后创建的书并在添加书时手动增加?

                  Is this possible within mysql or do I need to go and check for the last created book and manually increment when I add a book?

                  推荐答案

                  您可以使用触发器:

                  CREATE TRIGGER biBooks 
                    BEFORE INSERT ON books 
                    FOR EACH ROW SET NEW.booknum = (
                      SELECT COALESCE(MAX(booknum), 0) + 1 
                        FROM books 
                        WHERE authors_id = NEW.authors_id
                    )
                  ;
                  

                  这篇关于如何在表 MYSQL 的子集中自动递增的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  Select n random rows from SQL Server table(从 SQL Server 表中随机选择 n 行)
                  Oracle: how to UPSERT (update or insert into a table?)(Oracle:如何 UPSERT(更新或插入表?))
                  What is the difference between Scope_Identity(), Identity(), @@Identity, and Ident_Current()?(Scope_Identity()、Identity()、@@Identity 和 Ident_Current() 之间有什么区别?)
                  Inner join vs Where(内连接 vs Where)
                  Oracle SQL: Update a table with data from another table(Oracle SQL:用另一个表中的数据更新一个表)
                  Oracle SQL pivot query(Oracle SQL 数据透视查询)
                    <bdo id='pJ4VC'></bdo><ul id='pJ4VC'></ul>
                  • <tfoot id='pJ4VC'></tfoot>

                    1. <i id='pJ4VC'><tr id='pJ4VC'><dt id='pJ4VC'><q id='pJ4VC'><span id='pJ4VC'><b id='pJ4VC'><form id='pJ4VC'><ins id='pJ4VC'></ins><ul id='pJ4VC'></ul><sub id='pJ4VC'></sub></form><legend id='pJ4VC'></legend><bdo id='pJ4VC'><pre id='pJ4VC'><center id='pJ4VC'></center></pre></bdo></b><th id='pJ4VC'></th></span></q></dt></tr></i><div id='pJ4VC'><tfoot id='pJ4VC'></tfoot><dl id='pJ4VC'><fieldset id='pJ4VC'></fieldset></dl></div>

                        <tbody id='pJ4VC'></tbody>

                          <small id='pJ4VC'></small><noframes id='pJ4VC'>

                            <legend id='pJ4VC'><style id='pJ4VC'><dir id='pJ4VC'><q id='pJ4VC'></q></dir></style></legend>