sqlite2MySQL_SQLite2MySQL 转换

SQLite2MySQL

还是得用工具,而且必须纯福利的才行(po jie ban)。网友推荐这神器,ESF Database Migration Toolkit Professional v7.3.27

v6 的不行,很多字段转不了,用 v7 or v8 吧!

SQL COUNT 函数返回 int

RS 获取 COUNT() 值的时候,直接 getInt(1) 抛出 before start 异常,必须先 resultset.next() 一下才行;SQLite 无须这样

SELECT COUNT(id) AS count FROM news WHERE

JDBC 兼容代码如下:

if(jdbcConn.toString().indexOf("MySQL") != -1){

arr = resultset.next() ? resultset.getInt(1) : null;

}else{

// sqlite

arr = resultset.isBeforeFirst() ? resultset.getInt(1) : null;

}后来发现 SQLite 用 MySQL 的方法也行。

不能获取 mysql alias 名称

获取表各个字段的元数据时,发现不能获取 mysql alias 名称,也就是 table.xx AS foo,不能遍历出这个 foo。

var columnName = ResultSetMetaData.getColumnName(colIndex);后来发现应该用 getColumnLabel() 而不是 getColumnName();

觉得 SQLite 不够严谨,而 MySQL 有作区分了。

CREATE 返回主键

必须这样,SQLIite 不用。

rowNumber = statement.executeUpdate(sql, Statement.RETURN_GENERATED_KEYS);

ResultSet rs = statement.getGeneratedKeys();// 创建新纪录,返回id

if (rs.next()) {

rowNumber = rs.getInt(1);

// System.out.println("数据主键:" + id);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值