あなたは2つの側面を混ぜ合わせています:
- データ型 特定の値を許可する PK列用
- フォーマット 表示用に選択した
AUTO_INCREMENT
はMySQLの非標準の概念であり、SQLServerはIDENTITY(1,1)
を使用します など。
CREATE TABLE users (
user_id serial PRIMARY KEY
, ...
)
これは、 integer
として実装された疑似型です。 添付されたSEQUENCE<からの列のデフォルトの描画を含むデータ型/ code>
。
integer
あなたのケースに十分な大きさです(-2147483648から+2147483647)。
最大8桁の数字を強制する必要がある場合は、チェック
制約
:
CONSTRAINT id_max_8_digits CHECK (user_id BETWEEN 0 AND < 99999999)
数字を任意の方法で表示するには(0から8桁まで)、この場合は to_char()
:
SELECT to_char(user_id, '00000000') AS user_id_8digit
FROM users;
それはとても速いです。出力はtext
であることに注意してください 現在、 integer
ではありません 。
SQLFiddle。
他のいくつかのことは、コード内でMySQL固有です:
-
int(8)
:int
を使用します 。 日時
:タイムスタンプ
を使用します 。-
TYPE =INNODB
ストライク> :それをドロップするだけです。