Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

lealone数据库插入数据错误汇总 #230

Open
tangzhongshan opened this issue Jul 2, 2024 · 8 comments
Open

lealone数据库插入数据错误汇总 #230

tangzhongshan opened this issue Jul 2, 2024 · 8 comments

Comments

@tangzhongshan
Copy link

tangzhongshan commented Jul 2, 2024

lealone数据库插入数据错误汇总

image

insert into sys_job values(2, '系统默认(有参)', 'DEFAULT', 'ryTask.ryParams('ry')', '0/15 * * * * ?', '3', '1', '1', 'admin', sysdate(), '', null, '');
还有像这种需要存''符号的也报错

image

image

@codefollower
Copy link
Member

在一对单引号中的字符串可以直接包含双引号,比如 'abc"123' 是合法的,
如果要在字符串中又包含单引号,只要连着用两个单引号表示就可以了,比如 'abc''123' 就是 abc‘123

@codefollower
Copy link
Member

中文是支持的,那个包含温馨提醒的完整字段内容你贴出来一份我试试。

@tangzhongshan
Copy link
Author


-- 17、通知公告表


drop table if exists sys_notice;
create table sys_notice comment is '通知公告表'(
notice_id int(4) not null auto_increment comment '公告ID',
notice_title varchar(200) not null comment '公告标题',
notice_type char(1) not null comment '公告类型(1通知 2公告)',
notice_content varchar(2000) default null comment '公告内容',
status char(1) default '0' comment '公告状态(0正常 1关闭)',
create_by varchar(64) default '' comment '创建者',
create_time datetime comment '创建时间',
update_by varchar(64) default '' comment '更新者',
update_time datetime comment '更新时间',
remark varchar(255) default null comment '备注',
primary key (notice_id)
);
-- lealone的blob字段和mysql的blob字段有点区别,这里改成varchar类型了

blob字段改成varchar类型插入数据没有问题


-- 初始化-公告信息表数据


insert into sys_notice values('1', '温馨提醒:2018-07-01 若依新版本发布啦', '2', '新版本内容', '0', 'admin', sysdate(), '', null, '管理员');
insert into sys_notice values('2', '维护通知:2018-07-01 若依系统凌晨维护', '1', '维护内容', '0', 'admin', sysdate(), '', null, '管理员');

@tangzhongshan
Copy link
Author

notice_content从blob字段改成varchar类型插入数据没有问题

@codefollower
Copy link
Member

notice_content从blob字段改成varchar类型插入数据没有问题

是的,字符串直接存 blob 会假定它是16进制的字符串,所以解析时会出现16进制编码错误,改成 clob 或 varchar 即可。

@tangzhongshan
Copy link
Author

mysql导出的表结构包含[ DEFAULT current_timestamp() ON UPDATE current_timestamp(),],需要手动删除,才能继续执行

image

还有mysql导出表结构包含[ENGINE=MyISAM],也不能创建成功,需要手动删除
image

@tangzhongshan
Copy link
Author

还有mysql插入数据的时候,默认timestap值可以为[0000-00-00 00:00:00],从mysqldump导出的数据也包含这些默认值,插入到lealone数据库的时候报错,需要手动更改[0000-00-00 00:00:00]为[1900-01-01 00:00:00]就是一个真实的日期才行,修改完后lealone数据库能插入

@codefollower
Copy link
Member

@tangzhongshan 感谢报告问题,要想兼容好 mysql 确实还有很多细节工作需要做,每个数据库的细节还是有很多差异的。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants