【问题标题】:timestamps is inserting 0 values时间戳正在插入 0 个值
【发布时间】:2015-12-31 18:12:14
【问题描述】:

我不明白为什么我的时间戳没有价值...

患者数据迁移文件

 public function up()
    {
        Schema::create('patients', function (Blueprint $table) {

            $table->increments('pID');
            $table->string('pName');
            $table->string('pAddress');
            $table->string('pBday');
            $table->string('pPhone');
            $table->string('pEcon');
            $table->timestamps();
        });
    }

我的数据库

我将 created_at 列更改为 pDreg

我检查了所有内容,我确信我的代码是正确的.. 但我仍然没有得到任何值

【问题讨论】:

  • 如果时间戳应该设置为当前日期和时间,你应该使用CURR_TIMESTAMP作为默认值,phpmyadmin在默认值的下拉列表中给出这个选项
  • 成功了!非常感谢:)
  • 我将把它作为未来人的答案

标签: php laravel timestamp


【解决方案1】:

如果时间戳列应该设置为当前日期和时间,您应该使用CURR_TIMESTAMP 作为默认值,phpmyadmin 会在默认值的下拉列表中提供此选项。

SQL

ALTER TABLE `table` MODIFY `column` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;

这会将列设置为 TIMESTAMP 类型,并且当您插入表时,字段会自动设置为当前时间戳。

【讨论】:

    【解决方案2】:

    您的字段类型设置为 DATETIME(这就是为什么显示像 0000-00-00 这样的日期),如果您想使用 unix 时间戳作为字段的值,您应该将其更改为 INT。 否则,您应该使用 MySQL 函数 NOW() 获取当前日期和时间(或 $table->string(date('Y-m-d H:i:s')); 如果您更喜欢使用 PHP)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多