Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.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
Mysql 从数据库获取ID时出现的问题_Mysql_Sql_Phpmyadmin - Fatal编程技术网

Mysql 从数据库获取ID时出现的问题

Mysql 从数据库获取ID时出现的问题,mysql,sql,phpmyadmin,Mysql,Sql,Phpmyadmin,我希望你们都有一个美好的一天 实际上,我正在部署一个查询来获取完整的数据数组。但事实是我需要一个Id,首先,我想,我必须先得到最后一个Id,然后我可以应用数学运算得到它的值+1。事实上,我一直在尝试不同的句子和疑问,但没有结果 这是我的代码: function obtener_Id(){ global $mysqli; $resultado_oId = $mysqli ->query("SELECT TOP 1 'id' FROM 'pacient' ORDER BY RowID DESC

我希望你们都有一个美好的一天

实际上,我正在部署一个查询来获取完整的数据数组。但事实是我需要一个Id,首先,我想,我必须先得到最后一个Id,然后我可以应用数学运算得到它的值+1。事实上,我一直在尝试不同的句子和疑问,但没有结果

这是我的代码:

function obtener_Id(){
global $mysqli;
$resultado_oId = $mysqli ->query("SELECT TOP 1 'id' FROM 'pacient' ORDER BY RowID DESC ")
$id_sacada = mysqli_fetch_assoc($resultado_oId);
$id_enLaMano = $id_sacada['id'];
return $id_enLaMano;
//$id_dinamica = $id_enLaMano + 1;
//return $id_dinamica;
}
大家可以看到,我已经对最后两行进行了评论,因为我希望从查询结果中至少获得一个值,但如果这是正确的话,请输入Idk。在互联网上,我看到了一些相关的帖子,它们都是为了应用我们可以在全局声明下查看的查询而解决的

我在phpMyAdmin上试过,没有结果,也有很多错误

你们知道获取Id列最大值的正确方法吗?即使我做得不好,也要纠正我

很多拥抱和好运!
Mizar^^

我建议将序列号放在表格中。插入前读取序列号,锁定表格,如果需要,插入数据,然后将序列号增加1,并用增加的值更新序列号表格。

为什么要尝试将1添加到id?如果您试图获取顺序id,那么让数据库用一个标识为您完成。尝试自己给id排序不是一个好主意。看起来您正在使用SELECT TOP 1。。。语法,可在Microsoft SQL Server和Sybase中使用,但不适用于其他品牌的SQL数据库。例如,在MySQL中,您会在查询结束时使用ORDER BY RowID DESC LIMIT。另一个问题是:您将列名和表名放在不用于标识符的直接单引号中。直接单引号用于字符串文字或日期时间文字。请看以下解释:感谢您帮助Devlin Carnate,事实上我正在手动注册患者。我将通过Dialogflow聊天机器人在网页中插入数据。正如您所提到的,有一种方法可以让数据库自己创建一个id?比尔·卡温感谢您的澄清,我已经看到了,我得到了解决方案。获取id的命令是SELECT MAXid FROM table。。。