Small. Fast. Reliable.
Choose any three.

SQLite Requirement Matrix Details
lang_createindex.html

Index Summary Markup Original


R-35139-30552-47861-57461-03204-44110-27426-60914 tcl slt th3 src

Canonical usage: syntax/create-index-stmt.html

/* IMP: R-35139-30552 */
# EVIDENCE-OF: R-35139-30552 -- syntax diagram create-index-stmt

R-05949-14992-08035-18700-31063-00582-56557-23299 tcl slt th3 src

Canonical usage: syntax/expr.html

/* IMP: R-05949-14992 */
# EVIDENCE-OF: R-05949-14992 -- syntax diagram expr

R-40210-12599-36231-03864-46176-41928-03203-14839 tcl slt th3 src

Canonical usage: syntax/filter-clause.html

/* IMP: R-40210-12599 */
# EVIDENCE-OF: R-40210-12599 -- syntax diagram filter-clause

R-36911-54969-15236-22853-38940-32913-12354-42363 tcl slt th3 src

Canonical usage: syntax/literal-value.html

/* IMP: R-36911-54969 */
# EVIDENCE-OF: R-36911-54969 -- syntax diagram literal-value

R-39106-18215-63620-21950-01426-37390-34436-15307 tcl slt th3 src

Canonical usage: syntax/over-clause.html

/* IMP: R-39106-18215 */
# EVIDENCE-OF: R-39106-18215 -- syntax diagram over-clause

R-43427-44402-29451-17649-47289-60254-55729-32554 tcl slt th3 src

Canonical usage: syntax/frame-spec.html

/* IMP: R-43427-44402 */
# EVIDENCE-OF: R-43427-44402 -- syntax diagram frame-spec

R-27998-48590-15759-55327-24057-45544-61498-20485 tcl slt th3 src

Canonical usage: syntax/ordering-term.html

/* IMP: R-27998-48590 */
# EVIDENCE-OF: R-27998-48590 -- syntax diagram ordering-term

R-11045-52870-41853-22612-28711-29067-44165-34250 tcl slt th3 src

Canonical usage: syntax/raise-function.html

/* IMP: R-11045-52870 */
# EVIDENCE-OF: R-11045-52870 -- syntax diagram raise-function

R-07822-20600-60008-25390-21808-35959-11282-32675 tcl slt th3 src

Canonical usage: syntax/select-stmt.html

/* IMP: R-07822-20600 */
# EVIDENCE-OF: R-07822-20600 -- syntax diagram select-stmt

R-48339-53472-43967-43694-30651-22239-39991-26499 tcl slt th3 src

Canonical usage: syntax/common-table-expression.html

/* IMP: R-48339-53472 */
# EVIDENCE-OF: R-48339-53472 -- syntax diagram common-table-expression

R-34484-27817-31904-59996-06509-56853-54385-06908 tcl slt th3 src

Canonical usage: syntax/compound-operator.html

/* IMP: R-34484-27817 */
# EVIDENCE-OF: R-34484-27817 -- syntax diagram compound-operator

R-62819-25014-14742-19526-07437-11316-46744-34017 tcl slt th3 src

Canonical usage: syntax/join-clause.html

/* IMP: R-62819-25014 */
# EVIDENCE-OF: R-62819-25014 -- syntax diagram join-clause

R-22251-01544-43178-13583-65163-47242-05139-28044 tcl slt th3 src

Canonical usage: syntax/join-constraint.html

/* IMP: R-22251-01544 */
# EVIDENCE-OF: R-22251-01544 -- syntax diagram join-constraint

R-37592-60550-55049-61415-11391-65005-23058-12335 tcl slt th3 src

Canonical usage: syntax/join-operator.html

/* IMP: R-37592-60550 */
# EVIDENCE-OF: R-37592-60550 -- syntax diagram join-operator

R-27998-48590-15759-55327-24057-45544-61498-20485 tcl slt th3 src

Canonical usage: syntax/ordering-term.html

/* IMP: R-27998-48590 */
# EVIDENCE-OF: R-27998-48590 -- syntax diagram ordering-term

R-55434-02683-06673-33913-45638-17712-08878-40551 tcl slt th3 src

Canonical usage: syntax/result-column.html

/* IMP: R-55434-02683 */
# EVIDENCE-OF: R-55434-02683 -- syntax diagram result-column

R-48195-34360-11192-44367-16579-00892-09818-30155 tcl slt th3 src

Canonical usage: syntax/table-or-subquery.html

/* IMP: R-48195-34360 */
# EVIDENCE-OF: R-48195-34360 -- syntax diagram table-or-subquery

R-48345-61330-56074-37373-15233-53014-54747-65452 tcl slt th3 src

Canonical usage: syntax/window-defn.html

/* IMP: R-48345-61330 */
# EVIDENCE-OF: R-48345-61330 -- syntax diagram window-defn

R-43427-44402-29451-17649-47289-60254-55729-32554 tcl slt th3 src

Canonical usage: syntax/frame-spec.html

/* IMP: R-43427-44402 */
# EVIDENCE-OF: R-43427-44402 -- syntax diagram frame-spec

R-62486-51739-58335-52148-04934-35692-56858-32635 tcl slt th3 src

Canonical usage: syntax/type-name.html

/* IMP: R-62486-51739 */
# EVIDENCE-OF: R-62486-51739 -- syntax diagram type-name

R-11175-37461-37361-55818-19791-03595-13461-03099 tcl slt th3 src

Canonical usage: syntax/signed-number.html

/* IMP: R-11175-37461 */
# EVIDENCE-OF: R-11175-37461 -- syntax diagram signed-number

R-07519-27231-14174-14468-02729-55022-65176-33366 tcl slt th3 src

Canonical usage: syntax/indexed-column.html

/* IMP: R-07519-27231 */
# EVIDENCE-OF: R-07519-27231 -- syntax diagram indexed-column

R-57025-62168-38373-42436-38968-34840-50734-33391 tcl slt th3 src

The CREATE INDEX command consists of the keywords "CREATE INDEX" followed by the name of the new index, the keyword "ON", the name of a previously created table that is to be indexed, and a parenthesized list of table column names and/or expressions that are used for the index key.

/* IMP: R-57025-62168 */
# EVIDENCE-OF: R-57025-62168 The CREATE INDEX command consists of the
# keywords "CREATE INDEX" followed by the name of the new index, the
# keyword "ON", the name of a previously created table that is to be
# indexed, and a parenthesized list of table column names and/or
# expressions that are used for the index key.

R-32925-06786-44484-40389-19544-51015-10010-30515 tcl slt th3 src

Each column name or expression can be followed by one of the "ASC" or "DESC" keywords to indicate sort order.

/* IMP: R-32925-06786 */
# EVIDENCE-OF: R-32925-06786 Each column name or expression can be
# followed by one of the "ASC" or "DESC" keywords to indicate sort
# order.

R-17151-07205-10894-28299-62821-16887-02117-62221 tcl slt th3 src

The sort order may or may not be ignored depending on the database file format, and in particular the schema format number.

/* IMP: R-17151-07205 */
# EVIDENCE-OF: R-17151-07205 The sort order may or may not be ignored
# depending on the database file format, and in particular the schema
# format number.

R-62804-28221-24652-30727-46370-42129-23035-01106 tcl slt th3 src

The "legacy" schema format (1) ignores index sort order.

/* IMP: R-62804-28221 */
# EVIDENCE-OF: R-62804-28221 The "legacy" schema format (1) ignores
# index sort order.

R-50227-03668-59884-25860-05974-05725-11856-44463 tcl slt th3 src

The descending index schema format (4) takes index sort order into account.

/* IMP: R-50227-03668 */
# EVIDENCE-OF: R-50227-03668 The descending index schema format (4)
# takes index sort order into account.

R-50141-17598-64848-16921-53866-52555-58777-52662 tcl slt th3 src

The legacy_file_format pragma can be used to change set the specific behavior for any version of SQLite.

/* IMP: R-50141-17598 */
# EVIDENCE-OF: R-50141-17598 The legacy_file_format pragma can be used
# to change set the specific behavior for any version of SQLite.

R-48616-47814-10585-42560-43373-45165-03302-15640 tcl slt th3 src

The COLLATE clause optionally following each column name or expression defines a collating sequence used for text entries in that column.

/* IMP: R-48616-47814 */
# EVIDENCE-OF: R-48616-47814 The COLLATE clause optionally following
# each column name or expression defines a collating sequence used for
# text entries in that column.

R-57876-22123-39728-45816-26959-17516-32294-11302 tcl slt th3 src

The default collating sequence is the collating sequence defined for that column in the CREATE TABLE statement.

/* IMP: R-57876-22123 */
# EVIDENCE-OF: R-57876-22123 The default collating sequence is the
# collating sequence defined for that column in the CREATE TABLE
# statement.

R-09773-40602-32968-36782-04559-37578-19507-63398 tcl slt th3 src

Or if no collating sequence is otherwise defined, the built-in BINARY collating sequence is used.

/* IMP: R-09773-40602 */
# EVIDENCE-OF: R-09773-40602 Or if no collating sequence is otherwise
# defined, the built-in BINARY collating sequence is used.

R-11135-63542-29250-48049-02589-36558-61016-54500 tcl slt th3 src

Expressions in an index may not reference other tables and may not use subqueries nor functions whose result might change (ex: random() or sqlite_version()).

/* IMP: R-11135-63542 */
# EVIDENCE-OF: R-11135-63542 Expressions in an index may not reference
# other tables and may not use subqueries nor functions whose result
# might change (ex: random() or sqlite_version()).

R-40025-59984-53912-08799-37788-65154-58103-39921 tcl slt th3 src

Expressions in an index may only refer to columns in the table that is being indexed.

/* IMP: R-40025-59984 */
# EVIDENCE-OF: R-40025-59984 Expressions in an index may only refer to
# columns in the table that is being indexed.

R-13057-33448-09671-56974-58075-51862-56508-46386 tcl slt th3 src

The number of columns in an index is limited to the value set by sqlite3_limit(SQLITE_LIMIT_COLUMN,...).

/* IMP: R-13057-33448 */
# EVIDENCE-OF: R-13057-33448 The number of columns in an index is
# limited to the value set by sqlite3_limit(SQLITE_LIMIT_COLUMN,...).

R-06718-34797-20809-29800-16443-15807-57069-06143 tcl slt th3 src

If the UNIQUE keyword appears between CREATE and INDEX then duplicate index entries are not allowed.

/* IMP: R-06718-34797 */
# EVIDENCE-OF: R-06718-34797 If the UNIQUE keyword appears between
# CREATE and INDEX then duplicate index entries are not allowed.

R-17379-32951-58399-57501-33498-60036-41846-10214 tcl slt th3 src

Any attempt to insert a duplicate entry will result in an error.

/* IMP: R-17379-32951 */
# EVIDENCE-OF: R-17379-32951 Any attempt to insert a duplicate entry
# will result in an error.

R-55137-26834-36059-41974-16460-01927-24032-61978 tcl slt th3 src

For the purposes of unique indices, all NULL values are considered different from all other NULL values and are thus unique.

/* IMP: R-55137-26834 */
# EVIDENCE-OF: R-55137-26834 For the purposes of unique indices, all
# NULL values are considered different from all other NULL values and
# are thus unique.

R-16085-53730-63732-38499-15956-61706-03515-37986 tcl slt th3 src

If the optional IF NOT EXISTS clause is present and another index with the same name already exists, then this command becomes a no-op.

/* IMP: R-16085-53730 */
# EVIDENCE-OF: R-16085-53730 If the optional IF NOT EXISTS clause is
# present and another index with the same name already exists, then this
# command becomes a no-op.

R-25613-37547-39472-02780-29297-59051-40019-17427 tcl slt th3 src

Indexes are removed with the DROP INDEX command.

/* IMP: R-25613-37547 */
# EVIDENCE-OF: R-25613-37547 Indexes are removed with the DROP INDEX
# command.