Thank you so much.

The second method was a failure, but the first one works like a charm.
For anyone that doesn't understand what the first example is doing, instead of selecting values and defining them (i.e. INSERT INTO table (col1, col2) VALUES (val1, val2); ), it is actually selecting a *row* to define, and then defining that whole row with another row that is created from a select statement.
So, to use it, you could:
Code: Select all
INSERT INTO `table` (data1, data2, current) SELECT 'val1', 'val2', (COUNT(*) + 1) FROM `table` WHERE `user` = 1;
Thanks a lot for the tip. ^_^
SQL makes more and more sense each time I hit a problem like this.