Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java MySQL查询在SQLite上不起作用_Java_Android_Mysql_Sql_Sqlite - Fatal编程技术网

Java MySQL查询在SQLite上不起作用

Java MySQL查询在SQLite上不起作用,java,android,mysql,sql,sqlite,Java,Android,Mysql,Sql,Sqlite,我在SQLite中的一个查询有问题。 我正在用java为android编写一个简单的聊天 我从服务器上的数据库获取数据,并将它们插入设备上的本地数据库。 我想获得每个用户的最后一条消息 当我从MySQL获取数据时,它是正确的,但是当执行相同的查询时,我在SQLite上复制了它,我又得到了一行。MySQL和SQLite之间的代码实现是否不同 SELECT _id, od, do, tresc, godzina FROM wiadomosci w WH

我在SQLite中的一个查询有问题。 我正在用java为android编写一个简单的聊天

我从服务器上的数据库获取数据,并将它们插入设备上的本地数据库。 我想获得每个用户的最后一条消息

当我从MySQL获取数据时,它是正确的,但是当执行相同的查询时,我在SQLite上复制了它,我又得到了一行。MySQL和SQLite之间的代码实现是否不同

SELECT _id, od, do, tresc, godzina
            FROM wiadomosci w
            WHERE
            (od = "Aaaa" AND _id =
            (SELECT max(_id) FROM wiadomosci
            WHERE (od = "Aaaa" AND do = w.do) OR (do = "Aaaa" AND od = w.do)))
            OR
            (do = "Aaaa" AND _id = (
            SELECT max(_id) FROM wiadomosci
            WHERE (do = "Aaaa" AND od = w.od) OR (od = "Aaaa" AND do = w.od)))
其中:

od-信息来自谁, do-信息传递给谁, tresc-信息内容, 戈吉纳-一个小时的信息被发送出去了
很抱歉我的英语不好。

MySQL有一些怪癖,包括它接受字符串的双引号。这不是标准的,因为双引号通常用于列名

如果将双引号更改为单引号,您可能会获得更大的成功:

SELECT
    _id, od, do, tresc, godzina
FROM wiadomosci w
WHERE
(od = 'Aaaa' AND _id = (
    SELECT max(_id) FROM wiadomosci
            WHERE (od = 'Aaaa' AND do = w.do) OR (do = 'Aaaa' AND od = w.do)))
            OR
            (do = 'Aaaa' AND _id = (
            SELECT max(_id) FROM wiadomosci
            WHERE (do = 'Aaaa' AND od = w.od) OR (od = 'Aaaa' AND do = w.od)))

此查询依赖于自动递增的_id列。它是?即使从服务器复制记录?是的,_id在SQLite中是整数主键,它是自动递增的。MySQL和SQLite上的ID是相同的。当我从服务器获取行时,id也被插入到sqliteShow中,显示一些示例行和实际/期望的结果。