データベーステーブルから221行をインポートするテーブルがあります。 HTMLテーブルページ内で行を動的に追加するたびに、MAX ID(この場合は221)を1つ追加してMR_IDを222にする必要があります。これは、各IDが一意であること。私は、テーブルに行を追加し、それをデータベースで見るたびに、NULLとして表示されます。私はそれのために少し何かを持っていますが、それは動作していないようです。私が投稿したものより多くのコードが必要な場合は、私に知らせてください、そして私はそれを提供します。ありがとうございました!SQL Serverで自動インクリメントIDのMAXを設定する
<?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);
?>
のように試すことができます。 MR_IDをIDまたはauto_incrementに設定し、競合状態を回避するためにDBで処理するのはどうでしょうか? – xQbert
私は自動的にインクリメントし、実際のIDとして使用できる別の列を持っています....しかし、このMR_ID列はデータベース全体のルックアップとして使用されているので、NULL値を持つことはできません – Rataiczak24
キー以外の値にテーブルを関連付ける...私はあなたが更新前に自動インクリメントされた値にMR_IDを設定するためにトリガを使うことができると思います。 (このDBMSがトリガを使用していると仮定して) – xQbert