sql >> Databáze >  >> RDS >> PostgreSQL

Resetování sloupce automatického přírůstku zpět na 0 denně

S cronjobem to může být docela triviální

0 0 * * * echo "SELECT setval('public.my_table_id_seq', 1, false)" | psql -U my_db_user -d my_db_name

Alternativně můžete nastavit svůj "sériový" sloupec DEFAULT tak, aby volal uloženou proceduru, která by zkontrolovala převrácení za den, v případě potřeby resetovala sekvenci a pak vrátila výsledek nextval().

Ale kromě toho, ne, nečekal bych, že existuje magická ALTER SEQUENCE my_seq RESET AT INERVAL '1 day' nebo něco podobného.

Edit:začleněn komentář duckyfuzz.



  1. Postgres spoušť po vložení přístupu NOVÉ

  2. Jak odstranit podivnou tabulku s názvem BIN$c+eOnMB3RbKSEfg/rsxtAQ==$0 z databáze Oracle?

  3. jak zjistit, zda je sloupec primárním klíčem pomocí mysqli?

  4. MySQL CURRENT_TIMESTAMP při vytvoření a aktualizaci