Трудно сказать без определения, но, по сути, чтобы получить следующую запись и обернуть ее, я бы поступил следующим образом.
Сначала посчитайте, есть ли еще хотя бы одна запись.
SELECT COUNT(*) FROM cardItems WHERE id > ?
Если результат подсчета хотя бы 1, получить этот результат:
SELECT * FROM cardItems WHERE id > ? ORDER BY id LIMIT 1
Если результат подсчета был 0, откат:
SELECT * FROM cardItems WHERE id = (SELECT MIN(id) FROM cardItems)
Это касается нескольких случаев. Например, если ваш идентификатор не всегда «текущий + 1» (скажем, у вас есть удаленная запись), и если ваш первый идентификатор не равен 0.