Retrieve column info from next column
The idea of next or previous rows makes sense only in the presence of explicitly specified ORDER BY clause.

Now assuming that you need your resultset ordered by date you can achieve your goal either by using a subquery

SELECT date,
      (
        SELECT date
          FROM table1
         WHERE date &gt; t.date
         ORDER BY date
         LIMIT 1
      ) leadDate,
       comment
  FROM table1 t;


or by leveraging user(session) variables

SELECT date, leadDate, comment
  FROM
(
  SELECT date, CAST(@d AS DATE) leadDate, @d := date, comment
    FROM table1 CROSS JOIN (SELECT @d := NULL) i
   ORDER BY date DESC
) q
 ORDER BY date;


Sample output (in both cases):


+------------+------------+----------+
| date       | leadDate   | comment  |
+------------+------------+----------+
| 2013-01-01 | 2013-03-03 | comment1 |
| 2013-03-03 | NULL       | comment2 |
+------------+------------+----------+


Here is SQLFiddle demo