CodeIgniter查询数据库中的错误号1064

时间:2016-03-28 16:03:46

标签: mysql sql-server codeigniter

我需要一些关于本教程的帮助。我遇到了与数据库错误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`)');
    }

1 个答案:

答案 0 :(得分:0)

您错过了profile_pics数组中user_agent列的实际默认

更改此

$fields

到这个

$fields = array (
    ...
    'user_agent VARCHAR(120) DEFAULT NOT NULL',
    ...
);

或其他一些合理的默认值,与其他列一样。