使用達夢數據庫穿件新表后往新表中增加TEXT類型字段報錯,錯誤信息如下:
錯誤號: -3243 錯誤消息: 第1 行附近出現錯誤: 表[TABLE_2]中不能同時包含聚集KEY和大字段 --------------------------------- alter table "GFSTACK"."TABLE_2" add column("COLUMN_2" TEXT);
錯誤截圖:
如果建表時直接新增一列TEXT字段則沒問題,兩張表的建表語句如下:
CREATE TABLE "GFSTACK"."TABLE_2" ( "COLUMN_1" VARCHAR(50) NOT NULL, CLUSTER PRIMARY KEY("COLUMN_1")) STORAGE(ON "MAIN", CLUSTERBTR) ; CREATE TABLE "GFSTACK"."TABLE_3" ( "COLUMN_1" VARCHAR(50) NOT NULL, "COLUMN_2" TEXT, NOT CLUSTER PRIMARY KEY("COLUMN_1")) STORAGE(ON "MAIN", CLUSTERBTR) ;
區別在於一個是“CLUSTER PRIMARY KEY”,一個是“NOT CLUSTER PRIMARY KEY”,如果建表時指定“NOT CLUSTER PRIMARY KEY”則可以隨時添加大字段
如果是通過DM管理工具(類似於PLSQL)界面建表或者hibernate自動建表,主鍵是不會指定“CLUSTER”或“NOT CLUSTER”的,直接就是“PRIMARY KEY”,這個時候就需要手動修改達夢數據庫配置了
咨詢達夢技術交流群,回復修改dm.ini配置文件中的“PK_WITH_CLUSTER”配置為0即可,其實通過DM控制台工具修改一樣可以,修改完成后記得重啟數據庫實例,如果不行,則重啟服務器