PHP, odbc mdb 插入最大 id +1

Posted

技术标签:

【中文标题】PHP, odbc mdb 插入最大 id +1【英文标题】:PHP, odbc mdb insert max id +1 【发布时间】:2016-04-28 11:39:53 【问题描述】:

我正在尝试编写代码以使用 php 将新行插入到访问 .mdb 中,但到目前为止我无法让它工作,我已经这样做了插入

$ins = ("INSERT INTO Klanten (KLANTNR, VOORNAAM, ACHTERNAAM, ADRES, POSTCODE, WOONPLAATS, PROVINCIE, TELEFOON) VALUES ((SELECT max(KLANTNR) FROM Klanten)+1,'$voornaam', '$achternaam', '$adres', '$postcode', '$woonplaats', '$provisie', '$telefoon');");

但是

(SELECT max(KLANTNR) FROM Klanten)+1

不会工作。

有没有人知道如何解决这个问题

顺便说一句。我的其余代码工作正常

抱歉我的英语不好,我正在学习它。

亲切的问候, 汤姆

【问题讨论】:

Enterox,您能否确认您的 SQL 代码在您的数据库中正确执行?你也可以使用var $aVarForSQL = (SELECT max(KLANTNR) FROM Klanten),执行它然后var_dump($aVarForSQL ),并将它添加到你的问题中......最后,请在询问之前阅读this (how to ask)和this (mcve),因为这些将帮助你获得更多和来自社区的更好答案。 刚试了没用 我会对max + 1使用单独的查询。 是的,但是对于我们来说,我们没有足够的信息来帮助您...您必须继续编辑您的问题,并发布相关代码,以便我们了解问题并指导你通过它。 【参考方案1】:

在同一张表中执行select,而不使用values

INSERT INTO Klanten (
    KLANTNR,
    VOORNAAM,
    ACHTERNAAM,
    ADRES,
    POSTCODE,
    WOONPLAATS,
    PROVINCIE,
    TELEFOON
) SELECT
    MAX(KLANTNR) + 1,
    '$voornaam',
    '$achternaam',
    '$adres',
    '$postcode',
    '$woonplaats',
    '$provisie',
    '$telefoon'
FROM
    Klanten

【讨论】:

【参考方案2】:

SELECT max(KLANTNR)+1 FROM Klanten

【讨论】:

以上是关于PHP, odbc mdb 插入最大 id +1的主要内容,如果未能解决你的问题,请参考以下文章

从 Access 获取最后一个插入 ID

php,thinkphp 如何插入二维数组

PDO 插入最大 id+1 不是 auto_increment

MySQL中如何获取下一条插入的自增ID

使用 php 中三个查询中第一个的插入 id

PDO插入最大ID + 1而不是auto_increment