# SYSCOLUMNS system table

The SYSCOLUMNS table describes the columns within all tables in the current database.

The following table shows the contents of the SYSCOLUMNS system table.

Table 1. SYSCOLUMNS system table
Column Name | Type | Length | Nullable | Contents
--- | --- | --- | --- | ---
REFERENCEID | CHAR | 36 | false | Identifier for table (join with SYSTABLES.TABLEID)
COLUMNNAME | VARCHAR | 128 | false | Column or parameter name
COLUMNNUMBER | INT | 10 | false | The position of the column within the table
COLUMNDATATYPE | org.apache.derby. catalog. TypeDescriptor This class is not part of the public API. | 2,147,483,647 | false | System type that describes precision, length, scale, nullability, type name, and storage type of data. For a user-defined type, this column can hold a TypeDescriptor that refers to the appropriate type alias in SYS.SYSALIASES.
COLUMNDEFAULT | java.io.Serializable | 2,147,483,647 | true | For tables, describes default value of the column. The toString() method on the object stored in the table returns the text of the default value as specified in the CREATE TABLE or ALTER TABLE statement.
COLUMNDEFAULTID | CHAR | 36 | true | Unique identifier for the default value
AUTOINCREMENTVALUE | BIGINT | 20 | true | What the next value for column will be, if the column is an identity column (Release 10.10 or earlier only)
AUTOINCREMENTSTART | BIGINT | 20 | true | Initial value of column (if specified), if it is an identity column
AUTOINCREMENTINC | BIGINT | 20 | true | Amount column value is automatically incremented (if specified), if the column is an identity column

Note: The AUTOINCREMENTVALUE column has no meaning in a database that has been fully upgraded to Derby Release 10.11 or higher. At Release 10.11 or higher, use the SYSCS_UTIL.SYSCS_PEEK_AT_IDENTITY system function to observe the next value for an identity column.
Parent topic: Derby system tables