sql >> Databáze >  >> RDS >> Mysql

Je možné vložit nový řádek na začátek tabulky MySQL?

Pořadí, ve kterém jsou vráceny výsledky, když neexistuje klauzule ORDER BY, závisí na RDBM. V případě MySQL, nebo alespoň většiny motorů, pokud výslovně neurčíte pořadí, bude to vzestupné, od nejstarších po nové položky. Nezáleží na tom, kde se řádek nachází "fyzicky". Nejsem si jistý, jestli všechny mysql motory takto fungují. To znamená, že v PostgreSQL "výchozí" pořadí zobrazuje jako první poslední aktualizované řádky. To může být způsob, jakým fungují také některé motory MySQL.

V každém případě jde o to, že pokud chcete výsledky seřadit, vždy zadejte pořadí řazení, nespoléhejte se jen na něco výchozího, co se zdá fungovat. V případě, že chcete něco triviálního - chcete uživatele v sestupném pořadí, tak použijte:

SELECT * FROM users ORDER BY id DESC


  1. Spojení více tabulek vrátí hodnotu NULL

  2. Najděte chybějící mezery v sekvenci mysql

  3. Oracle porovnává časové razítko s datem

  4. Získejte název krátkého dne v PostgreSQL