我有一个SIGNUPS表到不同的事件。该表有一些简单的列,如ID,IDUSER,IDEVENT和DATE。每个事件的特点是我可以参加的人数最多,因此表EVENTS有一个名为let的说明PLACES。
我想要为特定事件获取的是该事件的第一个“PLACES”注册列表,即按时注册的人员。其他人将被列入候补名单。
行为应该是“选择第一个PLACES注册到事件X”
我尝试使用LIMIT PLACES,但它似乎不是一个有效的语法。
任何提示?
答案 0 :(得分:1)
MySQL中有known bug关于使用LIMIT子句的变量。
该文章还描述了Kian Ryan发布的解决方法:
DROP PROCEDURE IF EXISTS get_product_range $$
CREATE PROCEDURE get_product_range (
IN _START INTEGER,
IN _LIMIT INTEGER
)
BEGIN
PREPARE STMT FROM
" SELECT *
FROM products LIMIT ?,? ";
SET @START = _START;
SET @LIMIT = _LIMIT;
EXECUTE STMT USING @START, @LIMIT; /* Known bug in mySQL5 - exists as feature req. */
END $$
HTH