我需要使用优化的'timestamp'值更新数据类型为timestamp
binary(8)
的字段。
我尝试了以下内容:
$date = date('Y-m-d H:i:s', time()); // this shows as YYYY-MM-DD HH:MM:SS
$timestamp = strtotime($date); // this shows as 1412850218
当我尝试将$timestamp
插入binary(8)
字段时,我被告知数据类型varchar
与数据类型binary
不兼容。 This is to be expected
如何使用PHP优化字符串1412850218
以与数据类型binary(8)
兼容?
或者(甚至更好)如何在SQL中定义一个默认约束,当插入一行时会自动填充该字段?
我看了一个类似的问题here,但OP的评论显示他/她希望能够在中创建两个 binary(8)
字段表,这对这个问题没有帮助。
我正在使用SQL Server 2012 Express。
修改
// NEW TIMESTAMP VARIABLE
$time = time();
$Timestamp = pack('H*', $time); // converted to binary as suggested
// PDO AND SQL CODE
$INSERT_STATEMENT = $DBH->prepare(" // $DBH is defined and connects fine
INSERT INTO table (
Timestamp
) VALUES (
:Timestamp
)
");
$INSERT_STATEMENT->bindParam(':Timestamp', $Timestamp);
if($INSERT_STATEMENT->execute()){
// redirect
}else{
print_r($INSERT_STATEMENT->errorInfo());
}