达梦数据库踩过的坑

1 如何删除模式

drop user GONGMIN cascade
(删除 用户,同时也删除用户关联的模式)

2 如何查询数据(增、删、改同样)

2.1 当以GONGMIN这个用户连接数据库时,读取与用户名同名的模式中的表,不需要指定模式名称。读取与用户名不同名的模式中的表,需要指定模式名称;
2.2 特殊的表名必需加双引号才能访问,如user表;

3 如何配置兼容mysql

打开DM控制台工具,将COMPATIBLE_MODE改为mysql,虽然做不到100%兼容mysql,但也能做到至少90%了,能减少不少的适配工作量。


image.png
4 mysql数据迁移至达梦时datetime格式数据迁移报错问题

将mysql中datetime转为timestamp类型。
注意:在mysql中timestamp类型范围为:1970-01-01 00:00:01.000000 至 2038-01-19 03:01:07.999999
在达梦数据库中timestamp类型范围为:1000-01-01 00:00:00.000000 至 9999-12-31 23:59:59.999999

5 mysql数据库中有太多字段类型为datetime,如何批量修改为timestamp

5.1 使用下面的代码生成批量修改指令:

SELECT DISTINCT CONCAT('alter table <db>.', a.TABLE_NAME , ' MODIFY ( ',  b.column_name ,' timestamp null);')
FROM information_schema.`TABLES` a 
LEFT JOIN  information_schema.`COLUMNS`  b  ON  a.table_name=b.table_name
WHERE a.table_schema ='<db>' 
AND b.data_type LIKE '%datetime%'
ORDER BY a.table_name;

其中<db>表示你的数据库名称
5.2 将得到的指令全部拷贝出来,批量执行即可。

6 关于varchar类型

在mysql中varchar(10)最多可以存储10个汉字或者10个数字或10个英文字母
在达梦数据库中varchar(10)最多只能存储5个汉字或者10个数字或10个英文字母

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容