0
我使用PHP & PotgreSQL要使用此活動記錄的實現了PHP的DB, 界面 - >http://www.phpactiverecord.org現在()作爲Postgres的默認值
它是非常有用的,但有一個小的麻煩: 當你定義一個表中的時間戳字段以「NOW()」爲默認值 - 這 引擎沒有得到它:-(用於查詢列的信息
SQL是在這裏:
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`
?????被更改爲表名。
for timestamp column此代碼返回''或null(我不確定哪一個)作爲默認值。我如何修改它以返回'now()'或甚至更好 - now()的結果?
(同樣與功能的結果作爲默認值的任何其他列)
提前感謝!
謝謝!這正是我需要的 – Eralde 2010-11-22 15:06:13