mysql - SQL : current timestamp + 1 hour when inserting into DB

标签 mysql timestamp

我环顾四周,只看到它在使用 SELECT 时使用,而不是在使用 INSERT 时使用,这让我很困惑。

我一直在尝试的是:

$statement = $pdo->prepare("INSERT INTO shipments (crate_type_id, username, arrival, quantity, type, status) VALUES ('$crate_type_id', '$username', 'DATE_ADD(NOW() + INTERVAL 1 HOUR)', '$quantity', 'purchase', 'active')");

我没有收到任何错误,它只插入“0000-00-00 00:00:00”。我已经尝试在 phpmyadmin 等中进行故障排除,但没有取得任何进展。

最佳答案

您应该删除 dateadd 表达式周围的引号并使用逗号而不是 +

statement = $pdo->prepare("INSERT INTO shipments 
  (crate_type_id, username, arrival, quantity, type, status) 
  VALUES ('$crate_type_id', '$username',
         DATE_ADD(NOW() ,  INTERVAL 1 HOUR) ,
           '$quantity', 'purchase', 'active')");

关于mysql - SQL : current timestamp + 1 hour when inserting into DB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38455357/

相关文章:

php - MySQL+PHP 可以使用 SELECT AS 重新定义表名吗?

java - 使用 java 循环运行 MySQL

php - 获取 strtotime 以查找给定时间的下一个时间戳

hibernate - 当使用 spring-data-jpa 2.6.2 的 java.sql.Timestamp 查询 IS NULL 时,hsqldb 中转换的不兼容数据类型

Mysql - 从 unix 时间戳中选择年份

android - 将 unix/epoch 时间转换为格式化日期 - 意外日期

php - 创建登录页面但单击按钮不显示任何数据或错误消息

php - 使用存储过程建立 MySQL 数据库连接

mysql 每个派生表必须有自己的 DELETE 查询别名

windows - 如何在命令行中使用 Robocopy 复制带有 TimeStamp 的文件