表行值(MySql)

时间:2014-04-29 10:42:56

标签: php mysql sql

我在桌子上遇到一些困难。

我有一个网站,用户无法发送6个不同的课程答案。

用户完成后,他可以更正其他3个答案。

如果用户已交付1并更正了同一modulid中的3个,则他将获得modulid批准。

我的表格包含以下列:

  

用户名,模数,纠正,回答,结果

它是我遇到问题的纠正部分。如果有人纠正了一个,它将获得行值1,如果2个用户已经纠正它,则值变为2等等。

我可以以某种方式将表格行设置为默认值NULL并包含从1到3的值吗?

然后有人尝试添加4次,我想输出像"它已满#34;(您不会将其作为搜索modulid来纠正的选项)

我可以这样写:

$sql  = "SELECT  modulid=1 FROM tablename  WHERE correctedby=1-3 NULL ORDER BY RAND() LIMIT 1";

1 个答案:

答案 0 :(得分:0)

试试这个:

SELECT modulid FROM tablename
WHERE modulid = 1
AND (correctedby IN (1,2,3) OR correctedby IS NULL)
ORDER BY RAND() LIMIT 1

但你的结果要么是:

modulid
=======
1

或没有返回任何行。

您应该在插入数据库之前控制/过滤输入(例如,根据您设计的标准检查数据库是否“已满”)