Error Code for SQL Advisor

Error code for Bytebase SQL Advisor.

General

0 - OK

Success

1 - Internal error

Something unexpected happened, you can open a GitHub issue or contact us.

2 - Schema review policy not found

Cannot find the schema review policy in a specific environment. Please follow the doc to create the policy.

Compatibility

101 - DROP DATABASE

Applications usually specifies database in their connection string. Dropping the database will definitely break those applications.

102 - RENAME TABLE

Renaming the table will break the code referring that table.

103 - DROP TABLE

Dropping the table will break the code referring that table.

104 - RENAME COLUMN

Renaming the column will break the code referring that column.

105 - DROP COLUMN

Dropping the column will break the code referring that column.

106 - ADD PRIMARY KEY

Primary key requires the candidate key set has unique value and the chosen candidate key set might not meet this requirement.

107 - ADD UNIQUE KEY

Unique key requires the candidate key set has unique value and the chosen candidate key set might not meet this requirement.

108 - ADD FOREIGN KEY

The existing values on the candidate foreign key and the referenced key might not meet the referential requirements.

109 - ADD CHECK

The existing value might not meet the check requirement.

110 - ALTER CHECK

The existing value might not meet the check requirement.

111 - ALTER COLUMN

Some ALTER COLUMN change is backward incompatible such as changing the data type from VARCHAR to INT. On the other hand, some change is backward compatible such as changing the database type from INT to BIGINT, or adding a comment and etc. User should review the actual statement.

Statement

201 - Statement syntax error

A syntax error in your SQL statement.

202 - Statement missing where

The SQL has no WHERE clause. Check Require WHERE clause for details.

203 - Statement not select all

The SQL has SELECT *. Check Disallow SELECT * for details.

204 - Statement not allow leading wildcard like

The SQL has leading wildcard LIKE. Check Disallow leading % in LIKE for details.

206 - Statement disallow COMMIT

The SQL has COMMIT. Check Disallow COMMIT for details.

207 - Statement redundant ALTER TABLE

The SQL has redundant ALTER TABLE. Check Merge ALTER TABLE for details.

208 - Statement dry run failed

The SQL dry-run failed. Check Dry run DML statements for details.

209 - Statement affected rows exceed limit

The SQL affected rows exceed the limit. Check Limit affected rows for details.

210 - Statement add column with default

The SQL adds column with default value. Check Disallow add column with default for details.

211 - Statement add check with validation

The SQL adds check with validation. Check Add CHECK constraints with NOT VALID option for details.

212 - Statement add NOT NULL

The SQL adds NOT NULL. Check Disallow add NOT NULL constraints to an existing column for details.

Naming

301 - Table naming convention mismatch

Mismatch the table naming convention in your schema review policy. Check Table naming convention for details.

302 - Column naming convention mismatch

Mismatch the column naming convention in your schema review policy. Check Column naming convention for details.

303 - Index naming convention mismatch

Mismatch the index naming convention in your schema review policy. Check Index naming convention for details.

304 - Unique key naming convention mismatch

Mismatch the unique key naming convention in your schema review policy. Check Unique key naming convention for details.

305 - Foreign key naming convention mismatch

Mismatch the foreign key naming convention in your schema review policy. Check Foreign key naming convention for details.

306 - Primary key naming convention mismatch

Mismatch the primary key naming convention in your schema review policy. Check Primary key naming convention for details.

307 - Auto-increment column naming convention mismatch

Mismatch the auto-increment column naming convention in your schema review policy. Check Auto-increment column naming convention for details.

Column

401 - Missing required columns

Cannot find the required columns defined in your schema review policy. Check Enforce the required columns in each table for details.

402 - Column cannot be null

The column cannot be NULL. Check Columns no NULL value for details.

403 - Change column type

The column type is changed. Check Disallow change column type for details.

404 - NOT NULL column with no default

The NOT NULL column has no default value. Check Set DEFAULT value for NOT NULL columns for details.

405 - Column not exists

The column does not exist. Found in Bytebase's pre-execution checks, please confirm if there is a problem with the SQL.

406 - Use CHANGE COLUMN statement

The column is changed with CHANGE COLUMN. Check Disallow ALTER TABLE CHANGE COLUMN statements for details.

407 - Change column order

The column order is changed. Check Disallow changing column order for details.

410 - Auto-increment column is not integer

The auto-increment column is not an integer. Check Use integer for auto-increment columns for details.

411 - Disabled column type

The column type is disabled. Check Column type disallow list for details.

412 - Column already exists

The column already exists. Found in Bytebase's pre-execution checks, please confirm if there is a problem with the SQL.

413 - Drop all columns

The column is dropped. Found in Bytebase's pre-execution checks, please confirm if there is a problem with the SQL.

414 - Set column charset

Set the column charset. Check Disallow set charset for columns for details.

415 - Char length exceeds limit

The char length exceeds the limit. Check Maximum CHAR length for details.

416 - Auto-increment column initial value not match

The auto-increment column initial value does not match. Check Auto-increment initial value for details.

417 - Auto-increment column is signed

The auto-increment column is signed. Check Set unsigned attribute on auto-increment columns for details.

418 - Default current time column count exceeds limit

The default current time column count exceeds the limit. Check Limit the count of current time columns for details.

419 - On update current time column count exceeds limit

The on update current time column count exceeds the limit. Check Limit the count of current time columns for details.

420 - No default value

The column has no default value. Check Require column default value for details.

421 - Column is referenced by view

The column is referenced by view. Found in Bytebase's pre-execution checks, please confirm if there is a problem with the SQL.

Engine

501 - Use InnoDB engine

Should se InnoDB as MySQL storage engine. Check Require InnoDB for details.

Table

601 - Table missing primary key

The table needs a primary key. Check Require primary key for details.

602 - Table disallow foreign key

The table disallows the foreign key. Check Disallow foreign key for details.

603 - Table drop naming convention mismatch

The table name mismatches with the naming convention for drop table operation. Check Drop table naming convention for details.

604 - Table not exists

The table does not exist. Found in Bytebase's pre-execution checks, please confirm if there is a problem with the SQL.

607 - Table already exists

The table already exists. Found in Bytebase's pre-execution checks, please confirm if there is a problem with the SQL.

608 - Create table partition

Create table partition. Check Disallow partition table for details.

609 - Table is referenced by views

The table is referenced by views. Found in Bytebase's pre-execution checks, please confirm if there is a problem with the SQL.

Database

701 - Drop database restriction

Can only drop the database if there's no table in it. Check Drop database restriction for details.

702 - Not current database

The database in your SQL statement mismatches with the database in the catalog. Please check the statement to ensure the database name is correct.

703 - Database is deleted

The database is deleted. Found in Bytebase's pre-execution checks, please confirm if there is a problem with the SQL.

Index

801 - Not use index

The query does not use any index.

802 - Index key number exceeds limit

The index key number exceeds the limit. Check Limit the count of index keys for details.

803 - Index primary key type

The index primary key type is not allowed. Check Limit key type for primary keys for details.

804 - Index type no blob

The index type is not allowed. Check Disallow BLOB and TEXT for index keys for details.

805 - Index exists

The index already exists. Found in Bytebase's pre-execution checks, please confirm if there is a problem with the SQL.

806 - Primary key exists

The primary key already exists. Found in Bytebase's pre-execution checks, please confirm if there is a problem with the SQL.

807 - Index empty keys

The index has no keys. Found in Bytebase's pre-execution checks, please confirm if there is a problem with the SQL.

808 - Primary key not exists

The primary key does not exist. Found in Bytebase's pre-execution checks, please confirm if there is a problem with the SQL.

809 - Index not exists

The index does not exist. Found in Bytebase's pre-execution checks, please confirm if there is a problem with the SQL.

810 - Incorrect index name

The index name is incorrect. Found in Bytebase's pre-execution checks, please confirm if there is a problem with the SQL.

811 - Spatial index key nullable

The spatial index key is nullable. Found in Bytebase's pre-execution checks, please confirm if there is a problem with the SQL.

812 - Duplicate column in index

The index has duplicate columns. Check Disallow duplicate column in index keys for details.

813 - Index count exceeds limit

The index count exceeds the limit. Check Index count limit for details.

814 - Create index unconcurrently

The index is created without CONCURRENTLY. Check Create index concurrently for details.

Charset

1001 - Disabled charset

The charset is disabled. Check Charset allow list for details.

DML

1101 - Insert too many rows

The number of rows to be inserted exceeds the limit. Check Limit the inserted rows for details.

1102 - Update use limit

The UPDATE statement uses LIMIT. Check Disallow LIMIT for details.

1103 - Insert use limit

The INSERT statement uses LIMIT. Check Disallow LIMIT for details.

1104 - Update use order by

The UPDATE statement uses ORDER BY. Check Disallow ORDER BY for details.

1105 - Delete use order by

The DELETE statement uses ORDER BY. Check Disallow ORDER BY for details.

1106 - Delete use limit

The DELETE statement uses LIMIT. Check Disallow LIMIT for details.

1107 - Insert not specify column

The INSERT statement does not specify columns. Check INSERT statements must specify columns for details.

1108 - Insert use order by rand

The INSERT statement uses ORDER BY RAND. Check Disallow ORDER BY RAND in INSERT statements for details.

Collation

1201 - Disabled collation

The collation is disabled. Check Collation allow list for details.

Comment

1301 - Comment too long

The comment is too long. Check Comment length limit for details.

1302 - Comment is empty

The comment is empty. Check Comment convention for details.

1303 - Comment missing classification

The comment missing classification. Check Comment classification for details.

Backup

2001 - Unable to create backup

Prior backup is only feasible when meeting any of the following conditions:

  1. No more than 5 statements and every statement is either UPDATE or DELETE.
  2. All statements are UPDATE for the same table with PRIMARY KEY or UNIQUE KEY in WHERE clause.
Edit this page on GitHub

Subscribe to Newsletter

By subscribing, you agree with Bytebase's Terms of Service and Privacy Policy.