我有一张桌子
MovieInfo
M_ID int idenity
title varchar
yearReleased int
Primary key ( title, yearReleased)
我的php文件将值插入表中:
try{
$host = new PDO('sqlsrv:server=localhost;Database='.$database, $username, $password);
$movieTitle = $_POST['title'];
$movieYear = $_POST['year'];
$stmt = "INSERT INTO MovieInfo (title, yearReleased) VALUES (:title, :year)";
$q = $host->prepare($stmt);
$q->execute(array(':title'=>$movieTitle, ':year'=>$movieYear));
$host = null;
}
catch(PDOException $e)
{
die('Connect not connect: '.$e->getMessage());
}
我的表格填充正常,但是自动更新的M_ID不会像1,2,3,4,5那样逐步更新。相反,我对该列的值是1,3,4,6,7,10,11。我很好奇,如果这是预期的或有什么不同。如果我尝试插入副本,它不会运行预期的。看起来M_ID每次都会增加,即使是在失败的插入时也是如此。
答案 0 :(得分:0)
是的,这就是IDENTITY的工作原理。无论INSERT语句成功与否,该值都会递增。