如果采用主键,PHP / SQLite下推行

I'm making a HighScore class that saves the highscores in a SQLite database. If more than one player has got the same score, then I'd like the new score to be placed above the old one in the list, pushing the old one down one row.

The table consists of columns "rwId", "Score" and "Name". At first, I made Score the "PRIMARY KEY", so that the list would be sorted (backwards) by the score. But then I thought it would be better to make the rowId the Primary Key and set this ID when the score is saved. This way, the list would be in the right order, making it easier to delete the lowest score later.

Either way, If the primary key has already been taken by a previous score, the old score and all rows below it in the table needs to be pushed down one row.

Is this possible to do?

This is what I've got so far (which isn't much to show for):

  public function CheckRank($score) {
  $this->stmt = $this->sql->prepare('SELECT score, rowId FROM highscore ORDER BY score DESC LIMIT 10;');
  $this->stmt->execute();
  $this->res = $this->stmt->fetchAll(PDO::FETCH_ASSOC);


//Check what the 10 highest scores are an what row in the DB they're on
$i=0;
foreach ($this->res as $key => $value) {
  $scorearray[$value['rowId']] = $value['score'];
  $i++;
}

//Check if this score has already been set. If so, push old scores down and insert the new one
$rowsearch = array_search ($score, $scorearray); 
if($rowsearch)
 {
// HOW?
 }
}