sql >> Databasteknik >  >> RDS >> PostgreSQL

Ställer in standardvärde för en json-kolumn

Det är precis som alla andra standardinställningar när du väl fixat json-syntaxen:

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

Om du ställer in DEFAULT , det gör just det:

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. Hur man konverterar IPv6 från binär för lagring i MySQL

  2. Hur skapar man en array från databasen?

  3. Välj max(datum) fungerar inte om raderna har olika värden, jag vill bara hämta raden med högsta datum

  4. hämta inläggsvärden från formulär med dynamiska elementnamn