在执行SQL语句时,4.2版本可以正常执行,5.1版本的有三条语句插入不进去。
CREATE TABLE R_VERSION
(ID_VERSION BIGINT NOT NULL PRIMARY KEY
, MAJOR_VERSION INT
, MINOR_VERSION INT
, UPGRADE_DATE DATETIME
, IS_UPGRADE BOOLEAN
);
INSERT INTO R_VERSION(ID_VERSION, MAJOR_VERSION,MINOR_VERSION, UPGRADE_DATE, IS_UPGRADE) VALUES (1,5,0,'2014/09/0511:37:35.360','N');
与
CREATE TABLE R_USER
( ID_USER BIGINT NOT NULL PRIMARY KEY
, LOGIN VARCHAR(255)
, PASSWORD VARCHAR(255)
, NAME VARCHAR(255)
, DESCRIPTION VARCHAR(255)
, ENABLED BOOLEAN
);
INSERT INTO R_USER(ID_USER, LOGIN, PASSWORD, NAME,DESCRIPTION, ENABLED) VALUES(1,'admin','2be98afc86aa7f2e4cb79ce71da9fa6d4','Administrator','Usermanager','Y');
INSERT INTO R_USER(ID_USER, LOGIN, PASSWORD, NAME,DESCRIPTION, ENABLED) VALUES(2,'guest','2be98afc86aa7f2e4cb79ce77cb97bcce','Guest account','Read-only guestaccount','Y');
解决:4.2版本中R_VERSION中的IS_UPGRADE与R_USER中的ENABLED为char(1)类型,而5.1版本中的这两个字段为BOOLEAN类型。
MySQL在创建语句时,将Boolean类型替换为tinyint(1),在保存Boolean类型时用1代表TRUE,0代表FALSE。将上面的语句中的Y或N分别用1和0代替即可。