Ich habe eine Tabelle, die 221 Zeilen aus einer Datenbanktabelle importiert. Immer wenn ich eine Zeile dynamisch innerhalb der HTML-Tabellenseite hinzufüge, möchte ich, dass sie die MAX-ID ziehen kann, also in diesem Fall 221, und füge 1 hinzu, wodurch die MR_ID auf 222 gebracht wird. Ich brauche das, weil jede ID muss einzigartig sein. Immer wenn ich eine Zeile in die Tabelle einfüge und sie in der Datenbank anschaue, wird sie als NULL angezeigt. Ich habe ein bisschen was dafür, aber es scheint nicht zu funktionieren. Wenn Sie mehr Code benötigen, als ich geschrieben habe, lassen Sie es mich wissen und ich werde es bereitstellen. Vielen Dank!Einstellung MAX für Auto Increment ID in SQL Server
<?php
$MR_ID = $_POST['MR_ID'];
$MR_Name = $_POST['MR_Name'];
$Buyer_ID = $_POST['Buyer_ID'];
$MR_POC_N = $_POST['MR_POC_N'];
$MR_POC_E = $_POST['MR_POC_E'];
$MR_POC_P = $_POST['MR_POC_P'];
$host="xxxxxxx";
$dbName="xxxx";
$dbUser="xxxxxxxxxxx";
$dbPass="xxxxxxxxx";
$pdo = new PDO("sqlsrv:server=".$host.";Database=".$dbName, $dbUser, $dbPass);
$MR_ID = "Select MAX(MR_ID) + 1 FROM Stage_Rebate_Master";
$sql = "INSERT INTO Stage_Rebate_Master (MR_ID, MR_Name, Buyer_ID, MR_POC_N, MR_POC_E, MR_POC_P) VALUES (?, ?, ?, ?, ?, ?)";
$stmt = $pdo->prepare($sql);
$result = $stmt->execute(array($MR_ID, $MR_Name, $Buyer_ID, $MR_POC_N, $MR_POC_E, $MR_POC_P));
echo json_encode($result);
?>
max versuchen + 1 unterliegt Bedingungen fahren. Warum nicht die MR_ID auf eine Identität oder auto_increment setzen und die Datenbank damit umgehen lassen, um Rennbedingungen zu vermeiden? – xQbert
Ich habe eine andere Spalte, die automatisch erhöht und könnte als die tatsächliche ID verwendet werden .... aber diese MR_ID Spalte wird als Nachschlagen in der gesamten Datenbank verwendet, so kann ich nicht nur den Nullwert – Rataiczak24
scheint wie ein seltsamer Weg zu Relation von Tabellen zu Nicht-Schlüsselwerten ... Ich nehme an, Sie könnten einen Trigger verwenden, um die MR_ID vor der Aktualisierung auf den automatisch inkrementierten Wert zu setzen. (Angenommen, dieses DBMS verwendet Trigger) – xQbert