# Column Properties
+ You can add attributes to the column definitions of the**CREATE TABLE** statement, including:
  + `NULL, DEFAULT, NOT NULL, AUTO_INCREMENT, AUTO_RANDOM`  
+ Examples:
```10
tidb> CREATE TABLE test.dropme (
   ->   id bigint primary key auto_random,
   ->   id2 bigint ~!@auto_increment@!~,
   ->   isvalid enum('T', 'F') NOT NULL DEFAULT 'F'
   ->   );
~!@ERROR 1075 (42000)@!~: Incorrect table definition; there can be only one auto column and it must be defined as a key

tidb> CREATE TABLE test.dropme (
   ->   id bigint ~!@primary key auto_random@!~,
   ->   id2 bigint NOT NULL,
   ->   isvalid enum('T', 'F') NOT NULL DEFAULT 'F'
   ->   );
Query OK, 0 rows affected, 1 warning (0.52 sec)
```
------------------------------------------------------------
TiDB supports the following table_option and ignores other table_option parameters, such as AVG_ROW_LENGTH, CHECKSUM, COMPRESSION, CONNECTION, DELAY_KEY_WRITE, ENGINE, KEY_BLOCK_SIZE , MAX_ROWS, MIN_ROWS, ROW_FORMAT, and STATS_PERSISTENT `.

AUTO_INCREMENT: The initial value of the self-increment column AUTO_INCREMENT = 5

SHARD_ROW_ID_BITS: Number of bits used to set the number of shards for implicit _tidb_rowid SHARD_ROW_ID_BITS = 4

PRE_SPLIT_REGIONS: Used to split 2^ (PRE_SPLIT_REGIONS) regions evenly in advance when creating a table PRE_SPLIT_REGIONS = 4

AUTO_ID_CACHE: Use to specify the size of the Auto ID cache in a TiDB instance. By default, TiDB automatically adjusts AUTO_ID_CACHE = 200 according to the Auto ID allocation speed

AUTO_RANDOM_BASE: Used to specify the initial value of the autoRandom auto increment part, which can be considered part of the internal interface, for the user please ignore AUTO_RANDOM_BASE = 0

CHARACTER SET: Specify the character set used by this table CHARACTER SET = 'utf8mb4'

COLLATE: Specifies the character set collation used by the table COLLATE = 'utf8mb4_bin'

COMMENT: Comment information COMMENT = 'comment info'