sql >> データベース >  >> RDS >> Mysql

整数の長さを無視するMySQL8

    これは、に記載されている変更です。 MySQL8.0.19リリースノート

    整数列の「長さ」は何の意味もありません。 int(11)の列 int(2)と同じです またはint(40) 。これらはすべて固定サイズの32ビット整数データ型です。それらは同じ最小値と最大値をサポートします。

    整数列の「長さ」は、何年もの間MySQLの紛らわしい機能でした。これは、ストレージや値の範囲ではなく、表示幅に影響を与えるヒントにすぎません。実際には、ZEROFILLを使用する場合にのみ重要です。 オプション。

    mysql> create table t ( i1 int(6) zerofill, i2 int(12) zerofill );
    Query OK, 0 rows affected (0.02 sec)
    
    mysql> insert into t set i1 = 123, i2 = 123;
    Query OK, 1 row affected (0.00 sec)
    
    mysql> select * from t;
    +--------+--------------+
    | i1     | i2           |
    +--------+--------------+
    | 000123 | 000000000123 |
    +--------+--------------+
    1 row in set (0.00 sec)
    

    したがって、誤解を招く整数の「長さ」が廃止され、削除されたのは良いことです。それは何年もの間混乱を引き起こしてきました。



    1. SQL転置行を列として

    2. 公式のMicrosoftAccessTechブログがオンラインになりました!

    3. MySQLの引数のリスト内で引数の位置を返す方法

    4. MacでのOracleのJavaを理解する