A table can be created either with an initial set of columns by calling JetCreateTableColumnIndex or without an initial set of columns by calling JetCreateTable. Tables in ESE can contain up to 127 fixed-length columns, 128 variable-length columns, and 64,993 tagged columns. Columns are identified by their name and ID and can be dynamically added to the table with JetAddColumn. Columns are created with a specific data type and an optional set of attributes, such as whether the column is fixed-length or whether it can be NULL or not.
The type of a column determines the data that may be stored in the column and many of the properties of the column, including its order for indexing. ESE supports a wide range of column types, ranging in size from 1 bit to 2 GB (2146483647 ASCII characters or 1073741823 Unicode characters). For a complete list of the column data types supported by ESE, see the JET_COLTYP topic. The topics below discuss a few of the columns types supported by ESE: