Вы могли бы рассмотреть следующее:
CREATE TABLE my_table(id SERIAL PRIMARY KEY,author_id INT NOT NULL,book VARCHAR(50) NULL);
INSERT INTO my_table (author_id) VALUES (1),(1),(1);
UPDATE my_table SET book = 'my first book' WHERE author_id = 1 ORDER BY book,id LIMIT 1;
SELECT * FROM my_table;
+----+-----------+---------------+
| id | author_id | book |
+----+-----------+---------------+
| 1 | 1 | my first book |
| 2 | 1 | NULL |
| 3 | 1 | NULL |
+----+-----------+---------------+
UPDATE my_table SET book = 'my second book' WHERE author_id = 1 ORDER BY book,id LIMIT 1;
UPDATE my_table SET book = 'my third book' WHERE author_id = 1 ORDER BY book,id LIMIT 1;
UPDATE my_table SET book = 'my fourth book' WHERE author_id = 1 ORDER BY book,id LIMIT 1;
SELECT * FROM my_table;
+----+-----------+----------------+
| id | author_id | book |
+----+-----------+----------------+
| 1 | 1 | my fourth book |
| 2 | 1 | my second book |
| 3 | 1 | my third book |
+----+-----------+----------------+
О, забыл добавить метку времени (или механизм для редактирования идентификатора) -: - $, но, надеюсь, вы поняли идею; Я отредактирую это, если у меня будет минута