|
如题!
“多列的非主键必须通过数组来传递”
我参照中文手册上的做法和示例,无法设置“多列的非主键”。故意设置一个错误,观察到实际生成的代码是设置了两个单独的 “非主键”
CI版本:2.1.3
- Apache/2.2.22 (Win32) PHP/5.2.17
- 数据库客户端版本: libmysql - 5.0.51a
- PHP 扩展: mysqli
- 服务器: localhost via TCP/IP
- 软件: MySQL
- 软件版本: 5.5.29-log - MySQL Community Server (GPL)
- 协议版本: 10
请问有其他人遇到这种情况吗?这是一个BUG,还是因为我的数据库版本有问题?
你可以试一下下面这段代码,如果支持“设置多列的主键”,不会报错如果不支持会出现错误信息“Duplicate key name 'taxonomy'”
PHP复制代码
$fields=array(
'term_taxonomy_id' => array(
'type' => 'BIGINT',
'constraint' => 20,
'unsigned' => TRUE,
'auto_increment' => TRUE,
),
'term_id' => array(
'type' => 'BIGINT',
'constraint' => 20,
'unsigned' => TRUE,
'default' => 0
),
'taxonomy' => array(
'type' => 'VARCHAR',
'constraint' => 32,
'default' => ''
),
'description' => array(
'type' => 'LONGTEXT'
),
'parent' => array(
'type' => 'BIGINT',
'constraint' => 20,
'unsigned' => TRUE,
'default' => 0
),
'count' => array(
'type' => 'BIGINT',
'constraint' => 20,
'default' => 0
),
);
$this->dbforge->add_key('term_taxonomy_id',TRUE);
$this->dbforge->add_key('taxonomy',TRUE);
$this->dbforge->add_key('taxonomy');
$this->dbforge->add_key(array('term_id','taxonomy'));//问题所在!!!!
$this->dbforge->add_field($fields);
$this->dbforge->create_table('term_taxonomy');
复制代码
|
|