Я вставляю запись в таблицу, используя первичный ключ автоинкремента.Затем я получаю доступ к новому первичному ключу и пытаюсь вставить его в поле, являющееся внешним ключом для новой первичной записи.Затем получите ошибку внешнего ключа.Код:
/****************** Insert new record in session table ************************/
$insBC2020sql = "insert into session (auctionid,auctiondate,created,lastupdated,sessiondate) output inserted.*
values ('$auctionid','$saledt','$today','$today','$today')";
$insBC2020res = odbc_exec($conn_1,$insBC2020sql);
if (!$insBC2020res) {
exit("Request Error --" . odbc_errormsg($conn_1));
}
/********************* Retrieve primary key from last insert **************************/
while (odbc_fetch_row($insBC2020res)) {
$sessionid = odbc_result($insBC2020res, 1);
echo "\r\n".$sessionid. " ".$customerid;
}
}
/************************* Insert retrived value into reference table ********************/
$inssql = "insert into bidcall2020.dbo.customersession (customerid,sessionid)
values ('$customerid','$sessionid')";
echo $inssql."\r\n";
$insres = odbc_exec($conn_1, $inssql);
if (!$insres) {
exit("Request Error --" . odbc_errormsg($conn_1));
}
Получить ошибку конфликта внешнего ключа.Sessionid - это внешний ключ.Полученное значение соответствует значению в первичной таблице.