sql >> Database >  >> RDS >> PostgreSQL

Standaardwaarde instellen voor een json-kolom

Het is net als elke andere standaard, als je eenmaal de json-syntaxis hebt aangepast:

CREATE TABLE mytable (
    someothercol integer,
    somecol json DEFAULT '{"name": "", "other_name": ""}'
);

Als u instelt op DEFAULT , het doet precies dat:

regress=> INSERT INTO mytable(someothercol, somecol) VALUES (42, '{"nondefault": 1}');
INSERT 0 1
regress=> SELECT * FROM mytable;
 someothercol |      somecol      
--------------+-------------------
           42 | {"nondefault": 1}
(1 row)

regress=> UPDATE mytable SET somecol = DEFAULT WHERE someothercol = 42;
UPDATE 1
regress=> SELECT * FROM mytable;
 someothercol |            somecol             
--------------+--------------------------------
           42 | {"name": "", "other_name": ""}
(1 row)



  1. Mysql - zoekvelden die eindigen als zoekterm

  2. Vervanger voor MySQL-variabelen in PostgreSQL?

  3. JSON_OBJECTAGG() Functie in Oracle

  4. Delen (mysql) database tussen apps Django met databaserouters