问题描述:
这样一张表:
字段19个,其中 Clob 6个,varchar(2000) 10个。
数据库页面大小是默认的16K,资料上说这种情况
下,一行数据的所有字段的长度累加不能大于8000,
那该怎么建?
达梦对表中使用 Clob 类型有没有其它要求?
解析:
建表没有问题,因为VARCHAR类型不管多大都不会分配实际空间的,而如果使用CHAR的话则会分配实际的空间
在插入的数据时候,如果一行中VARCHAR那几个字段总长度加起来超过8000的话会报错
clob字段的数据是另外存储的,使用没有什么特别的要求,用法是clob(长度),最大长度为2G-1字节,定义长度指明了在clob字段中可以接受的最大字节长度.如不定义长度,缺省为2G-1
CREATE TABLE 语句的主要语法及使用说明如下:CREATE TABLE:用于创建给定名称的表,必须拥有表CREATE的权限。
<表名>:指定要创建表的名称,在 CREATE TABLE 之后给出,必须符合标识符命名规则。表名称被指定为 db_name.tbl_name,以便在特定的数据库中创建表。无论是否有当前数据库,都可以通过这种方式创建。在当前数据库中创建表时,可以省略 db-name。如果使用加引号的识别名,则应对数据库和表名称分别加引号。例如,'mydb'.'mytbl' 是合法的,但 'mydb.mytbl' 不合法。
<表定义选项>:表创建定义,由列名(col_name)、列的定义(column_definition)以及可能的空值说明、完整性约束或表索引组成。
默认的情况是,表被创建到当前的数据库中。若表已存在、没有当前数据库或者数据库不存在,则会出现错误。
mysql>USE test_db
Database changed
mysql>CREATE TABLE tb_emp1
->(
->id INT(11),
->name VARCHAR(25),
->deptId INT(11),
->salary FLOAT
->)
Query OK, 0 rows affected (0.37 sec)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)