Version:

Create Table

Creates a new table or collection. If a new table is being created, the type of the table is given by input parameter type_id, which must the be the ID of a currently registered type (i.e. one created via Create Type). The table will be created inside a collection if the option collection_name is specified. If that collection does not already exist, it will be created.

To create a new collection, specify the name of the collection in input parameter table_name and set the is_collection option to true; input parameter type_id will be ignored.

Input Parameter Description

Name Type Description
table_name string Name of the table to be created. Error for requests with existing table of the same name and type id may be suppressed by using the no_error_if_exists option. See Tables for naming restrictions.
type_id string ID of a currently registered type. All objects added to the newly created table will be of this type. Ignored if is_collection is true.
options map of string to strings

Optional parameters. The default value is an empty map ( {} ).

Supported Parameters (keys) Parameter Description
no_error_if_exists

If true, prevents an error from occurring if the table already exists and is of the given type. If a table with the same ID but a different type exists, it is still an error. The supported values are:

  • true
  • false
collection_name Name of a collection which is to contain the newly created table. If the collection provided is non-existent, the collection will be automatically created. If empty, then the newly created table will be a top-level table.
is_collection

Indicates whether the new table to be created will be a collection. The supported values are:

  • true
  • false
disallow_homogeneous_tables

For a collection, indicates whether the collection prohibits containment of multiple tables of exactly the same data type. The supported values are:

  • true
  • false
is_replicated

For a table, indicates the distribution scheme for the table's data. If true, the table will be replicated. If false, the table will be sharded according to the shard key specified in the given input parameter type_id, or randomly sharded, if no shard key is specified. The supported values are:

  • true
  • false
foreign_keys Semicolon-separated list of foreign keys, of the format '(source_column_name [, ...]) references target_table_name(primary_key_column_name [, ...]) [as foreign_key_name]'.
foreign_shard_key Foreign shard key of the format 'source_column references shard_by_column from target_table(primary_key_column)'
ttl For a table, sets the TTL of the table specified in input parameter table_name.
chunk_size Indicates the chunk size to be used for this table.
is_result_table

For a table, indicates whether the table is an in-memory table. A result table cannot contain store_only, text_search, or string columns (charN columns are acceptable), and it will not be retained if the server is restarted. The supported values are:

  • true
  • false

Output Parameter Description

Name Type Description
table_name string Value of input parameter table_name.
type_id string Value of input parameter type_id.
is_collection boolean Indicates if the created entity is a collection.