MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLの主キーの自動増分を無制限(または信じられないほど巨大)に設定しますか?


BIGINTを使用できますが、これは無制限ではありませんが、それを使用して多数の主キーの自動インクリメントを使用できます。構文は次のとおりです-

yourColumnName BIGINT NOT NULL AUTO_INCREMENT;

上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです-

mysql> create table LargeAutoIncrement
   -> (
   -> Id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY
   -> );
Query OK, 0 rows affected (0.78 sec)

これで、このテーブルに9223372036854775807のような多数を保存できます。つまり、主キーの自動インクリメント用です。

挿入コマンドを使用して、テーブルに9223372036854775805のレコードを挿入してみましょう。クエリは次のとおりです。自動インクリメントは自動的に値を挿入するため、最初の値のみを挿入し、空白のままにします-

mysql> insert into LargeAutoIncrement values(9223372036854775805);
Query OK, 1 row affected (0.19 sec)
mysql> insert into LargeAutoIncrement values();
Query OK, 1 row affected (0.81 sec)
mysql> insert into LargeAutoIncrement values();
Query OK, 1 row affected (0.16 sec)

これで、selectステートメントを使用してテーブルのすべてのレコードを表示できます。クエリは次のとおりです-

mysql> select *from LargeAutoIncrement;

以下は自動インクリメントの出力です-

+---------------------+
| Id                  |
+---------------------+
| 9223372036854775805 |
| 9223372036854775806 |
| 9223372036854775807 |
+---------------------+
3 rows in set (0.00 sec)

  1. 単一のMySQLクエリのすべての列名に「エイリアス」を設定します

    列名のエイリアスを設定するための構文は次のとおりです- select yourColumnName1 anyAliasName1,yourColumnName2 anyAliasName2 from yourTableName anyAliasName; 上記の構文を理解するために、テーブルを作成しましょう- mysql> create table DemoTable2014    -> (    -> FirstName varchar(20),    -> LastName varchar(20)

  2. MySQLで初期値と自動インクリメントを設定するにはどうすればよいですか?

    AUTO_INCREMENT属性は、新しい行の一意のIDを生成するために使用されます。列が「NOTNULL」として宣言されている場合、その列にNULLを割り当てて、一連の数字を生成することができます。 AUTO_INCREMENT列に値が挿入されると、列はその値に設定され、シーケンスもリセットされるため、最大の列値から順番に値が自動的に生成されます。 既存の「AUTO_INCREMENT」列を更新して、「AUTO_INCREMENT」シーケンスもリセットできます。最新の自動生成された「AUTO_INCREMENT;値は、SQLの「LAST_INSERT_ID()」関数を使用するか、C AP