Sql从表中选择max id

时间:2014-03-25 10:04:32

标签: php sql select insert max

我想从tblLogin获取Max userID并添加1
这个值我想放入一个字符串插入表

$sql2="INSERT INTO tblLogin (Gebruikersnaam, Wachtwoord, UserID)
VALUES ('$_POST[gebruikersnaam]','$_POST[wachtwoord]', 'SELECT MAX(tblLogin.UserID) FROM tblLogin')";

我想插入另一行,其中UserID是最大的一个(5)+ 1所以6
但是,如果我尝试使用我现在的代码 它只增加1而不是6

看起来它的值为0,我不知道为什么。

'Gebruikersnaam'(它的荷兰语:p)和'Wachtwoord'正在插入正常。 只有UserID会出现问题。

帮助。

3 个答案:

答案 0 :(得分:2)

您可以将UserID字段设置为AUTO_INCREMENT

此后,您不需要在插入查询中传递USerID值。

答案 1 :(得分:1)

如果你想每次增加它,那么你应该将它设置为自动增量。 否则你可以尝试这样:

 $sql2="INSERT INTO tblLogin 
   (Gebruikersnaam, Wachtwoord, UserID)
   VALUES ('$_POST[gebruikersnaam]','$_POST[wachtwoord]',
   (SELECT 1+MAX(tblLogin.UserID) FROM tblLogin)";

答案 2 :(得分:0)

$sql2="INSERT INTO tblLogin (Gebruikersnaam, Wachtwoord, UserID)
       SELECT '$_POST[gebruikersnaam]','$_POST[wachtwoord]', MAX(tblLogin.UserID) 
       FROM tblLogin";