[英]Inserting ID in to SQL table, problem with same ID number
我不想將 SQL Server 表的 ID 號設置為自動遞增。 所以我在我的 PHP 程序中設置了這個數字。 我這樣做的方法是獲取表的當前 ID 值,然后向其添加 +1,然后將這個數字插入表中。
例子:
$query = "SELECT MAX(ID) FROM T01";
$result=sqlsrv_query($conn, $query);
$IDTable = sqlsrv_fetch_array($result);
$Column1= getPOST('Column1' . $column);
$Column2= getPOST('Column2' . $Column);
$ID1 = $IDTable[0]+1;
$params = array(&$ID1,&$Column1,&$Column2);
# Statement
$sql = "INSERT INTO MyTable ([ID],[Column1],[Column2]) VALUES (?,?); SELECT SCOPE_IDENTITY();";
現在我有一個表單,在該表單中,可以在 SQL 表(MyTable)中插入多於 1 行。 現在的問題是使用下面的代碼為所有插入的行提供相同的 ID。 因此,我收到一條錯誤消息,指出 ID 值重復。
我怎樣才能克服這個問題?
將其保存到一個變量中,並將其作為任何其他變量插入。
//assume $dbc to be the variable referencing the database connection //fetch last id $select_last_id_sql = mysqli_query($dbc,"SELECT table_id,time_recorded FROM TableName ORDER BY time_recorded DESC LIMIT 1") or die(mysqli_error($dbc); $id_row = mysqli_fetch_array($select_last_id_sql); $id = $id_row['table_id']; $int = (int) filter_var($id, FILTER_SANITIZE_NUMBER_INT); $int = $int+1; $new_table_id = "T".$int;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.