我需要一些关于本教程的帮助。我遇到了与数据库错误1064相关的错误。
它声明:
您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以便在第4行
'NOT NULL, last_activity INT(10) unsigned DEFAULT 0 NOT NULL, user_data text NO'
附近使用正确的语法
CREATE TABLE `ci_sessions` (
session_id VARCHAR(40) DEFAULT '0' NOT NULL,
ip_address VARCHAR(40) DEFAULT '0' NOT NULL,
user_agent VARCHAR(120) DEFAULT NOT NULL,
last_activity INT(10) unsigned DEFAULT 0 NOT NULL,
user_data text NOT NULL,
PRIMARY KEY `session_id` (`session_id`)
) DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
HERE是教程查询:
public function up() {
$fields = array (
'session_id VARCHAR(40) DEFAULT \'0\' NOT NULL',
'ip_address VARCHAR(40) DEFAULT \'0\' NOT NULL',
'user_agent VARCHAR(120) DEFAULT NOT NULL',
'last_activity INT(10) unsigned DEFAULT 0 NOT NULL',
'user_data text NOT NULL'
);
$this->dbforge->add_field($fields);
$this->dbforge->add_key('session_id', TRUE);
$this->dbforge->create_table('ci_sessions');
$this->db->query('ALTER TABLE `ci_sessions` ADD KEY `last_activity_idx` (`last_activity`)');
}
答案 0 :(得分:0)
您错过了profile_pics
数组中user_agent
列的实际默认值。
更改此
$fields
到这个
$fields = array (
...
'user_agent VARCHAR(120) DEFAULT NOT NULL',
...
);
或其他一些合理的默认值,与其他列一样。