【发布时间】:2012-08-23 16:57:24
【问题描述】:
我编写了一段 mysqli 代码,它将值插入到数据库中:
$insertsql = "
INSERT INTO Teacher
(TeacherId, TeacherForename, TeacherSurname, TeacherEmail, TeacherAlias, TeacherUsername, TeacherPassword, Active, Code)
VALUES
(?, ?, ?, ?, ?, ?, ?, ?, ?)
";
if (!$insert = $mysqli->prepare($insertsql)) {
// Handle errors with prepare operation here
}
$teacherid = ;
$insert->bind_param("sssssssss", $teacherid, $getfirstname, $getsurname,
$getemail, $getteachid, $getuser,
$password, $active, $code);
$insert->execute();
if ($insert->errno) {
// Handle query error here
}
$insert->close();
但是我有一个小问题。目前我将$teacherid 变量留空,但是我希望这个变量从数据库中找到最后一个“TeacherId”并通过插入下一个“TeacherId”来插入一个新变量。
例如:
如果 TeacherId 的“Teacher”表如下所示:
TeacherId
T1
T2
T3
T4
那么当我插入一个新的TeacherId值时,它应该插入T5,这是因为T4是当前最高的T编号,所以下一个编号应该是T5。
有谁知道如何做到这一点。任何帮助将不胜感激:)
谢谢
【问题讨论】:
-
是否需要采用这种格式?因为否则你可以用 auto_increment 把它作为主键,你可以让数据库来处理它。
-
你有没有考虑设置这个字段
AUTO_INCREMENT? -
我知道自动增量,但有人告诉我 ID 应该包含 T,然后跟一个数字
-
你需要某种序列生成器来处理这类事情。这通常是某种带有计数器的辅助表。