在插入DB之前检查最后一个条目

时间:2012-03-10 10:44:30

标签: php mysql

有人可以快速提示我如何实现以下目标:

我有一个包含3行的表:idvalue1user

假设数据库中有1个条目,其中包含以下数据: 1testuser1

现在,当我提交表单时,在实际插入下一个内容之前,我想检查数据库中最后一个条目的user的值,并将下一个条目更改为user1(如果最后一个是user2)或user2(如果最后一个是user1)

编辑:

我想我解释得有点愚蠢。

基本上我想要行user的某种斑马条纹,如果这更有意义: - )

4 个答案:

答案 0 :(得分:1)

您可以继续执行类似的查询 SELECT user FROM table WHERE ID IN(SELECT MAX(ID) FROM table) 然后使用该用户值来确定下一个用户值是什么。

答案 1 :(得分:1)

它可以更容易:

SELECT user FROM table ORDER BY id DESC LIMIT 1

假设id是AI字段。

编辑:添加一些PHP代码:

$getLastUser = mysql_query("SELECT user FROM table ORDER BY id DESC LIMIT 1");
$LastUser = mysql_fetch_array($getLastUser);

$newUser = ($LastUser['user'] == "user1") ? "user2" : "user1";

//insert $newUser to the 'user' field.

答案 2 :(得分:0)

为了避免并发问题,请将其全部作为一个语句执行:

INSERT INTO your_table (value1, user) 
VALUES ('your_value', (CASE (SELECT user FROM your_table ORDER BY id DESC LIMIT 1) WHEN 'user1' THEN 'user2' WHEN 'user2' THEN 'user1' END))

答案 3 :(得分:0)

看起来您需要在输出处使用Zebra条纹,而不是插入时间。