Would you try this?
CREATE PROCEDURE `reset_sortid` (IN category INT(11))
BEGIN
SET @a = 0;
UPDATE
documents SET sort_id = (@a := @a + 1)
WHERE
document_category = category
ORDER BY
sort_id;
END
//
2014-07-14 11:42 G
why do you need the 'order by' in your update at all? The statement, if
innodb, will certainly be atomic; the order in which they are updated means
nothing.
On Jul 13, 2014 11:46 PM, "kitlenv" wrote:
> maybe try 'order by sort_id desc'?
>
>
> On Mon, Jul 14, 2014 at 12:42 PM, Don Wieland wrote
maybe try 'order by sort_id desc'?
On Mon, Jul 14, 2014 at 12:42 PM, Don Wieland wrote:
> I am trying to create this stored procedure, but can't understand why my
> editor is chocking on it. Little help please:
>
> DELIMITER //
> CREATE PROCEDURE `reset_sortid` (IN category INT(11))
> BEGIN
>
I am trying to create this stored procedure, but can't understand why my editor
is chocking on it. Little help please:
DELIMITER //
CREATE PROCEDURE `reset_sortid` (IN category INT(11))
BEGIN
DECLARE a INT;
SET a = 0;
UPDATE
documents SET sort_id = (a := a