首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Codeigniter DBForge迁移中创建唯一字段

在Codeigniter DBForge迁移中创建唯一字段
EN

Stack Overflow用户
提问于 2014-01-12 19:59:58
回答 2查看 7.9K关注 0票数 9

如何使用Codeigniter Dbforge迁移使financial_year字段具有唯一性?

代码语言:javascript
复制
function up() {

    $this->dbforge->add_field(array(
        'id'    =>  array(
            'type'              =>  'INT',
            'constraint'        =>  11,
            'unsigned'          =>  TRUE,
            'auto_increment'    =>  TRUE
        ),
        'financial_year'    =>  array(
            'type'              =>  'VARCHAR',
            'constraint'        =>  20
        ),
        'start_date'    =>  array(
            'type'              =>  'DATE'
        ),
        'end_date'  =>  array(
            'type'              =>  'DATE'
        ),
        'status'    =>  array(
            'type'              =>  "ENUM",
            'constraint'        =>  "'Active','Inactive'",
            'default'           =>  "Active"
        ),
        'created_on'    =>  array(
            'type'              =>  'TIMESTAMP'
        )
    ));

    $this->dbforge->add_key('id', TRUE); // add `id` as primary key

    $this->dbforge->create_table('financial_year'); // create table schema
}
EN

回答 2

Stack Overflow用户

发布于 2014-02-22 19:01:27

在数据库驱动程序中没有这样做的选项。

要么编写SQL来手动创建表,要么(这不是我推荐的)更改DB_forge.php和数据库驱动程序。(如mysql_forge.php)有唯一的键。看一下代码,我猜你只需要一个名为'unique_keys‘的类变量,然后按照代码中的’键‘和’主键‘来添加唯一键。

另一种选择是按原样使用dbforge,然后在创建后只修改表

代码语言:javascript
复制
$this->db->query('ALTER TABLE `financial_year` ADD UNIQUE INDEX (`financial_year`)');
票数 11
EN

Stack Overflow用户

发布于 2016-09-25 00:19:38

此问题标记为CodeIgniter2 - @pgee70答案正确

CodeIgniter3支持创建唯一字段。只需添加

代码语言:javascript
复制
'unique'            => TRUE

到田里

在这种情况下:

代码语言:javascript
复制
'financial_year'    =>  array(
        'type'              =>  'VARCHAR',
        'constraint'        =>  20,
        'unique'            => TRUE
    ),

请参阅CodeIgniter user_guide

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21074347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档