なぜ $stmt の表示順が Thanks, thanks, Arigato, Merci になるのかわかりません

順を追って説明していきます。
2022年3月12日
ユーザー
$pdo->query(
    "INSERT INTO posts (message, likes) VALUES
      ('Thanks', 12), 
      ('thanks', 4),
      ('Arigato', 15)"
  );

  $message = 'Merci';
  $likes = 8;
  $stmt = $pdo->prepare(
    "INSERT INTO 
      posts (message, likes) 
    VALUES 
      (:message, :likes)"
  );
  $stmt->bindValue('message', $message, PDO::PARAM_STR);
  $stmt->bindValue('likes', $likes, PDO::PARAM_INT);
  $stmt->execute();

  $stmt = $pdo->query("SELECT * FROM posts");
  $posts = $stmt->fetchAll();

このコードだと $pdo には Thanks, thanks, Arigato, Merci の順に挿入されているのはわかるのですが、 $stmt には Merci から挿入されているため、表示順は Merci から始まるように思われます。しかし、結果は $pdo のオブジェクトの順番通りになっているため、そこがよくわかりません。どうしてなのでしょうか。

この回答を見るにはプレミアムプランへの登録が必要です

プレミアムプランとは?

このレッスンの質問と回答(6)