我在mysql中有一个目前为空的表。其中一列是timestamp
,设置为默认值(固定值而不是当前时间戳)。
现在我没有任何行,但我想从timestamp列获取默认时间戳。我尝试了一些东西,但它没有用。
$sql = mysql_query("SELECT DEFAULT(`timestamp`) FROM `mytable`");
$row = mysql_fetch_assoc($sql);
$time = $row['timestamp'];
echo $time;
我不知道该怎么做。任何帮助将不胜感激。
答案 0 :(得分:1)
如果你的表'mytable'有一个名为'timestamp'的字段,你需要这个默认值,这就是方法:
$sql = mysql_query("EXPLAIN `mytable`");
while($row = mysql_fetch_assoc($sql)) {
if ($row['Field'] == 'timestamp') {
echo $row['Default'];
}
}
答案 1 :(得分:1)
MySQL 5.02版本有一个'数据字典',可以用select语句查询。
SELECT column_default FROM information_schema.columns
WHERE table_name = 'your_table'
AND column_name = 'your_column'
返回适当的信息。
谷歌搜索'mysql information_schema'会返回大量参考文献。我不确定在这里发布http链接是否可以。答案 2 :(得分:0)
您的代码看起来正确,只有数组访问中的密钥似乎是错误的。 tjis应该工作:
$sql = mysql_query("SELECT DEFAULT(`timestamp`) AS default_timestamp FROM `mytable`");
$row = mysql_fetch_assoc($sql);
$time = $row['default_timestamp'];
答案 3 :(得分:0)
试试这个:
$sql = mysql_query("DESCRIBE `mytable`");
while ($result = mysql_fetch_assoc($sql)) {
if ($result['Field'] == 'timestamp') {
$default = $result['Default'];
break;
}
}
echo $default;
干杯