<tfoot id='fyemP'></tfoot>

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

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

        我如何在 32 位操作系统中存储 BIGINT 数字

        How did I store a BIGINT number in a 32-bit OS(我如何在 32 位操作系统中存储 BIGINT 数字)

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

                  <legend id='eSu08'><style id='eSu08'><dir id='eSu08'><q id='eSu08'></q></dir></style></legend>
                • <small id='eSu08'></small><noframes id='eSu08'>

                  <tfoot id='eSu08'></tfoot>

                    <tbody id='eSu08'></tbody>
                • 本文介绍了我如何在 32 位操作系统中存储 BIGINT 数字的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我在带有 32 位 PIXEL OS(Raspbian 版本)的 raspberry pi 3(64 位 SoC)上运行 LAMP 堆栈.我在 MySQL 中创建了一个新表,并将主键设置为 unsigned BIGINT(20).最初我认为数据库只会截断溢出的数字或其他东西,但它实际上可以存储大于约 40 亿的数字.更准确地说,我存储了数字 5201702020.这怎么可能?

                  I am running a LAMP stack on a raspberry pi 3 (64-bit SoC) with 32-bit PIXEL OS (a Raspbian version). I created a new table in MySQL and I set the Primary Key as unsigned BIGINT(20). Initially I thought that the database will just truncate the overflowing digits or something but it can actually store bigger numbers than ~4 billion. To be more precise I stored the number 5201702020. How is that possible?

                  推荐答案

                  查看 MySQL 源码,发现至少有 4 处对 BIGINT 的引用:

                  Looking in the MySQL source code, I found at least 4 references to BIGINT:

                  1) "BIGINT":

                  1) "BIGINT":

                  • https://github.com/mysql/mysql-server/blob/5.7/storage/innobase/pars/pars0lex.l#L560

                  回复PARS_BIGINT_TOKEN":

                  que retorna "PARS_BIGINT_TOKEN":

                  • https://github.com/mysql/mysql-server/blob/5.7/storage/innobase/include/pars0grm.h#L247

                  2) 作为结构体:

                  • https://github.com/mysql/mysql-server/blob/5.7/strings/dtoa.c#L627

                  3) 在很多地方作为 int64_t 或 uint64_t

                  3) As int64_t or uint64_t in many places

                  4) Java 语言类型,在所有 java 文件中.

                  4) Java language type, in all java files.

                  并且,回答您的问题:

                  情况 (1) 和 (2) 将由源代码实现/逻辑处理.

                  The situations (1) and (2) will be handled by source code implementation/logics.

                  情况 (3) 将由编译器处理,而不是操作系统.编译器将对 BigInt 变量和值进行所有必要的转换以完成工作.

                  The situation (3) will be handled by the compiler, not the OS. The compiler will make all the necessary transformations to BigInt variables and values to accomplish the job.

                  情况 (4) 将由 JVM 处理,而不是像编译器那样由 OS 处理.

                  The situation (4) will be handled by JVM, not the OS, as the compiler does.

                  这篇关于我如何在 32 位操作系统中存储 BIGINT 数字的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

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

                  相关文档推荐

                  How to delete duplicate records in mysql database?(如何删除mysql数据库中的重复记录?)
                  Python Pandas write to sql with NaN values(Python Pandas 使用 NaN 值写入 sql)
                  MySQL Insert amp; Joins(MySQL 插入 amp;加入)
                  MySQL concat() to create column names to be used in a query?(MySQL concat() 创建要在查询中使用的列名?)
                  NodeJS responded MySQL timezone is different when I fetch directly from MySQL(当我直接从 MySQL 获取时,NodeJS 响应 MySQL 时区不同)
                  WHERE datetime older than some time (eg. 15 minutes)(WHERE 日期时间早于某个时间(例如 15 分钟))
                    <bdo id='yjNbO'></bdo><ul id='yjNbO'></ul>

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

                          1. <legend id='yjNbO'><style id='yjNbO'><dir id='yjNbO'><q id='yjNbO'></q></dir></style></legend>

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