【发布时间】:2011-08-20 15:51:45
【问题描述】:
要选择最后一条记录,当我的数据库是 MySQL 时,我正在使用它:
$result = mysql_query("SELECT Id
FROM test
ORDER BY LENGTH(Id), Id ASC");
$count = mysql_numrows($result);
if($count != 0) {
$lastid = mysql_result($result,$count-1,"Id");
}
...它工作正常。
但现在我的表在 Oracle 数据库中 - 我写道:
$stid = oci_parse($conn, "SELECT Id
FROM test
ORDER BY LENGTH(Id), Id ASC");
oci_execute($stid);
$p = oci_parse($conn, "SELECT COUNT(ID)
FROM test");
oci_execute($p);
$count = oci_fetch_array($p);
if($count[0] != 0) {
$lastid = oci_result($stid, $count[0]-1);
}
它不起作用 - 我没有得到最后一条记录。
【问题讨论】:
-
最后一条记录怎么定义?是最后插入的吗?为什么你需要得到它?
-
当表中没有任何内容时,我想插入 D1111,然后如果我得到 D1111,我将插入 D1112,然后 ....9,10,11。使用 mysql 的代码(上部)它很好。但问题是当数据库转移到oracle(我的代码的第二部分)时。实际上我曾经向你展示前缀