更新时间:2025-09-09 GMT+08:00
字符串数据类型
|
数据类型 |
与MySQL的差异 |
|---|---|
|
CHAR(M) |
具体差异请参见表格下方说明中的内容。 |
|
VARCHAR(M) |
具体差异请参见表格下方说明中的内容。 |
|
TINYTEXT |
具体差异请参见表格下方说明中的内容。 |
|
TEXT |
具体差异请参见表格下方说明中的内容。 |
|
MEDIUMTEXT |
具体差异请参见表格下方说明中的内容。 |
|
LONGTEXT |
输入格式:
|
- 对于无法转义的二进制或十六进制字符串,MySQL会输出空字符串,GaussDB输出为十六进制结果。
- 对于TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT类型:
- MySQL 5.7不允许设置默认值,GaussDB及MySQL 8.0允许设置默认值。
- 主键:MySQL中创建主键时必须指定前缀长度,GaussDB创建主键时不支持指定前缀长度。
- 索引:MySQL中不支持除前缀索引外其他索引方法,GaussDB支持。
- 外键:MySQL中不支持作为外键的参考列/被参考列,GaussDB支持。
示例:
-- GaussDB
m_db=# CREATE TABLE test_text(a text);
CREATE TABLE
m_db=# INSERT INTO test_text VALUES(0x1);
INSERT 0 1
m_db=# INSERT INTO test_text VALUES(0x111111);
INSERT 0 1
m_db=# INSERT INTO test_text VALUES(0x61);
INSERT 0 1
m_db=# SELECT * FROM test_text;
a
--------------
\x01
\x11\x11\x11
a
(3 rows)
m_db=# DROP TABLE test_text;
DROP TABLE
-- MySQL 5.7
mysql> CREATE TABLE test_text(a text);
Query OK, 0 rows affected (0.01 sec)
mysql> INSERT INTO test_text VALUES(0x1);
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO test_text VALUES(0x111111);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO test_text VALUES(0x61);
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM test_text;
+------+
| a |
+------+
| |
| |
| a |
+------+
3 rows in set (0.00 sec)
mysql> DROP TABLE test_text;
Query OK, 0 rows affected (0.01 sec)
父主题: 数据类型