簡體   English   中英

如何使用 CodeIgniter DB Forge 在 MySQL 中創建 DATETIME?

[英]How to create DATETIME filed in MySQL with CodeIgniter DB Forge?

我正在學習 CodeIgniter,現在我想用 DATETIME 字段創建 MySQL 表。

我在 Install_Model.php 中有這個代碼

    $Fields = array(
      'ID' => array(
      'Type' => 'INT',
      'Constraint' => 10,
      'Unsigned' => TRUE,
      'Auto_Increment' => TRUE
    ),
      'Username' => array(
      'Type' => 'VARCHAR',
      'Constraint' => '255'
    ),
      'Password' => array(
      'Type' => 'VARCHAR',
      'Constraint' => '255'
    ),
      'AddDate' => array(
      'Type' => 'DATETIME'
    )
  );

  $this->dbforge->add_key('ID', TRUE);
  $this->dbforge->add_field($Fields);
  $this->dbforge->create_table('Admins', TRUE);
  echo 'Table Admins created successfully!<br/>';

當我執行此代碼時,出現此錯誤:

警告:#1265 第 1 行“AddDate”列的數據被截斷

而在提交的AddDate內容是0000-00-00 00:00:00

我如何解決問題,並使AddDate內容成為當前時間戳?

我嘗試設置 DEFAULT CURRENT_TIMESTAMP 但隨后 CodeIgniter 在 SQL 查詢中返回錯誤:(

嘗試

'AddDate' => array( 'type' => 'datetime', 'default' => '0000-00-00 00:00:00', )

'AddDate' => array(
        'type'       => 'TIMESTAMP',
    )

在您的模型中添加這些,它會在創建、更新和刪除等時自動添加當前日期時間。

protected $createdField  = 'AddDate';
protected $updatedField  = 'updated_at';
protected $deletedField  = 'deleted_at';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM