上善若水 发表于 2010-12-1 21:53:15

直接用$this->db->query($sql) 没办法新增表

CREATE TABLE `site_cat_%s` (
`id` int(11) NOT NULL auto_increment,
`title` varchar(80) collate utf8_unicode_ci NOT NULL,
`url_name` varchar(255) collate utf8_unicode_ci default NULL,
`keywords` varchar(80) collate utf8_unicode_ci default NULL,
`description` varchar(255) collate utf8_unicode_ci default NULL,
`list_light` tinyint(1) NOT NULL,
`light_date` date default NULL,
`sort` smallint(6) default NULL,
PRIMARY KEY(`id`),
KEY `sort` (`list_light`,`sort`,`light_date`),
KEY `url_name` (`url_name`)
)
ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

%s 用id号替换

直接用 phpadmin 可以生成

用$this->db->query($sql);

出错。。。。。

上善若水 发表于 2010-12-1 21:54:22

是这种方法不可用,还是那里需要设置一下呢?

Hex 发表于 2010-12-1 23:05:57

http://codeigniter.org.cn/user_guide/database/forge.html

上善若水 发表于 2010-12-2 08:56:17

本帖最后由 上善若水 于 2010-12-2 08:58 编辑

这个我知道。
我是想着把 sql 存成单独的文本文件,生成表时直接读取。

管理员 真辛苦 11点多了 还在

binbin 发表于 2010-12-2 10:44:52

新手学习了!!

上善若水 发表于 2010-12-2 10:49:14

本帖最后由 上善若水 于 2010-12-2 10:53 编辑

出现个问题
$this->dbforge->add_key(array('list_light', 'sort', 'light_date'));

并没有按手册上说的生成
KEY `list_light_sort_light_date` ('list_light', 'sort', 'light_date')

而是生成了
KEY `list_light`(`list_light`),
KEY `sort` (`sort`),
KEY `light_date` (`light_date`)

上善若水 发表于 2010-12-2 18:45:26

没人出过 这个问题吗?
页: [1]
查看完整版本: 直接用$this->db->query($sql) 没办法新增表