DEFAULT
In MySQL, when using ALTER TABLE to add a column with the not null constraint, if no value is specified, a default value is inserted. However, an error will be reported a value is inserted into a non-empty table in GaussDB(DWS). Therefore, for common data types, Default values (see table 1.) are specified for ALTER TABLE ADD COLUMN with NOT NULL constraint.
Input
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
DROP TABLE IF EXISTS default_test_1; CREATE TABLE default_test_1 ( c1 tinyint, c2 smallint, c3 MEDIUMINT, c4 int, c5 bigint ); INSERT INTO default_test_1 VALUES (1, 1, 1, 1, 1); SELECT * FROM default_test_1; ALTER TABLE default_test_1 add COLUMN (c1_1 tinyint not null, c2_1 SMALLINT not null, c3_1 MEDIUMINT not null, c4_1 int not null, c5_1 BIGINT not null); SELECT * FROM default_test_1; |
Output
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
DROP TABLE IF EXISTS "public"."default_test_1"; CREATE TABLE "public"."default_test_1" ( "c1" SMALLINT, "c2" SMALLINT, "c3" INTEGER, "c4" INTEGER, "c5" BIGINT ) WITH (ORIENTATION = ROW, COMPRESSION = NO) NOCOMPRESS DISTRIBUTE BY HASH ("c1"); INSERT INTO "public"."default_test_1" VALUES (1, 1, 1, 1, 1); SELECT * FROM default_test_1; ALTER TABLE "public"."default_test_1" ADD COLUMN "c1_1" SMALLINT NOT NULL DEFAULT 0, ADD COLUMN "c2_1" SMALLINT NOT NULL DEFAULT 0, ADD COLUMN "c3_1" INTEGER NOT NULL DEFAULT 0, ADD COLUMN "c4_1" INTEGER NOT NULL DEFAULT 0, ADD COLUMN "c5_1" BIGINT NOT NULL DEFAULT 0; SELECT * FROM default_test_1; |
Data Type |
MYSQL |
GaussDB(DWS) Data Type |
Conversion Result |
---|---|---|---|
Signed Integer |
TINYINT |
SMALLINT |
0 |
SMALLINT |
SMALLINT |
0 |
|
MEDIUMINT |
INT/INTEGER |
0 |
|
INT/INTEGER |
INT/INTEGER |
0 |
|
BIGINT |
BIGINT |
0 |
|
Unsigned Integer |
TINYINT UNSIGNED |
TINYINT |
0 |
SMALLINT UNSIGNED |
INT |
0 |
|
MEDIUMINT UNSIGNED |
INT |
0 |
|
INT UNSIGNED |
BIGINT |
0 |
|
BIGINT UNSIGNED |
NUMERIC |
0 |
|
Float |
FLOAT |
REAL |
0 |
FLOAT UNSIGNED |
REAL |
0 |
|
DOUBLE |
DOUBLE PRECISION |
0 |
|
DOUBLE UNSIGNED |
DOUBLE PRECISION |
0 |
|
DOUBLE PRECISION (DOUBLE) |
DOUBLE PRECISION |
0 |
|
DOUBLE PRECISION [UNSIGNED] (DOUBLE) |
DOUBLE PRECISION |
0 |
|
REAL (Processed as double by default, when set to REAL_AS_FLOAT, it is processed as float.) |
REAL/DOUBLE PRECISION |
0 |
|
REAL [UNSIGNED] (Processed as double by default, when set to REAL_AS_FLOAT, it is processed as float.) |
REAL/DOUBLE PRECISION |
0 |
|
NUMERIC/DECIMAL |
NUMERIC/DECIMAL |
0 |
|
Boolean |
BOOLEAN/BOOL |
BOOLEAN |
0 |
Character Type |
CHAR/CHARACTER |
CHAR/CHARACTER * 4 |
An empty string will be returned. |
NCHAR |
CHAR/CHARACTER * 4 |
An empty string will be returned. |
|
VARCHAR |
VARCHAR * 4 |
An empty string will be returned. |
|
Text |
TINYTEXT |
TEXT |
An empty string will be returned. |
TEXT |
TEXT |
An empty string will be returned. |
|
MEDIUMTEXT |
TEXT |
An empty string will be returned. |
|
LONGTEXT |
TEXT |
An empty string will be returned. |
|
Binary |
BINARY |
BYTEA |
An empty string will be returned. |
VARBINARY |
BYTEA |
An empty string will be returned. |
|
TINYBLOB |
BYTEA (column storage)/BLOB (non-column storage) |
An empty string will be returned. |
|
BLOB |
BYTEA (column storage)/BLOB (non-column storage) |
An empty string will be returned. |
|
MEDIUMBLOB |
BYTEA (column storage)/BLOB (non-column storage) |
An empty string will be returned. |
|
LONGBLOB |
BYTEA (column storage)/BLOB (non-column storage) |
An empty string will be returned. |
|
CHAR BYTE (BINARY) |
BYTEA |
An empty string will be returned. |
|
Date |
DATE |
DATE |
1970-01-01 |
TIME |
TIME(P) WITHOUT TIME ZONE |
00:00:00 |
|
DATETIME |
TIMESTAMP WITHOUT TIME ZONE |
1970-01-01 00:00:00 |
|
TIMESTAMP |
TIMESTAMP(P) WITH TIME ZONE |
1970-01-01 00:00:00 |
|
datetime/datetime(0) |
datetime->timestamp with out time zone datetime(0)->timestamp(0) with out time zone |
1970-01-01 00:00:00.xx (The number of x depends on the precision.) |
|
YEAR |
SMALLINT |
0000 |
|
Bit String |
BIT |
BIT |
DEFAULT 0:: BIT(x) |
Set |
ENUM |
CHARACTER VARYING() |
Return the first element by default. |
SET |
CHARACTER VARYING() |
An empty string will be returned. |
|
Auto Increment |
SERIAL ( BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE) |
CREATE SEQUENCE serial_name INCREMENT 2 START 1 |
No processing is required. |
JSON |
JSON |
jsonb |
No processing is required. |
Spatial |
point |
point |
No processing is required. |
polygon |
polygon |
No processing is required. |
|
geometry |
Not supported. The input is returned as it was received |
No processing is required. |
|
linestring |
polygon |
No processing is required. |
|
geometrycollection |
Not supported. The input is returned as it was received |
No processing is required. |
|
multipoint |
box |
No processing is required. |
|
multilinestring |
box |
No processing is required. |
|
multipolygon |
polygon |
No processing is required. |
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot