şimdi () postgres'in bir varsayılan değer olarak

0 Cevap php

I'm using PHP & PotgreSQL to make an interface for a DB, using this Active Record implementation for PHP -> http://www.phpactiverecord.org

It's quite useful, but there is a small trouble: when you define a timestamp field in a table with "now()" as default value - this engine does not get it :-(

Sütunlar hakkında bilgi sorgulamak için kullanılan SQL burada:

SELECT 
  a.attname AS field, 
  a.attlen,
 REPLACE
 (
   pg_catalog.format_type(a.atttypid, a.atttypmod), 
   'character varying', 
   'varchar'
 ) AS type,
 a.attnotnull AS not_nullable, 
 i.indisprimary as pk,
 REGEXP_REPLACE
 (
   REGEXP_REPLACE
   (
     REGEXP_REPLACE(s.column_default,'::[a-z_ ]+',''),
     '\'$',''
   ),
   '^\'',''
 ) AS default
 FROM 
   pg_catalog.pg_attribute a
 LEFT JOIN 
   pg_catalog.pg_class c ON(a.attrelid=c.oid)
 LEFT JOIN 
   pg_catalog.pg_index i ON(c.oid=i.indrelid AND a.attnum=any(i.indkey))
 LEFT JOIN 
   information_schema.columns s 
   ON(s.table_name=???? AND a.attname=s.column_name)
 WHERE 
   a.attrelid = (select c.oid from pg_catalog.pg_class c inner join 
   pg_catalog.pg_namespace n on(n.oid=c.relnamespace) where c.relname=?????
   and pg_catalog.pg_table_is_visible(c.oid))
   AND a.attnum > 0
   AND NOT a.attisdropped
 ORDER BY a.attnum`

??? tablo adı değiştirilir.

timestamp sütun için bu kodu döndürür'' ya da boş bir varsayılan değer olarak (Ben hangisini emin değilim). Şimdi sonucunu () - Nasıl daha iyi ') (Şimdi' iade veya değiştirebilirsiniz?

(Aynı varsayılan değer olarak işlev sonucu ile diğer herhangi bir sütun için)

Şimdiden teşekkürler!

0 Cevap