Mysql CodeIgniter查询数据库中的错误号1064
我需要一些关于本教程的帮助。我遇到了与数据库错误1064相关的错误 它说: 您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解在第4行使用的接近Mysql CodeIgniter查询数据库中的错误号1064,mysql,sql-server,codeigniter,Mysql,Sql Server,Codeigniter,我需要一些关于本教程的帮助。我遇到了与数据库错误1064相关的错误 它说: 您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解在第4行使用的接近“NOT NULL,last_activity INT(10)unsigned DEFAULT 0 NOT NULL,user_data text NO”的正确语法 以下是教程查询: public function up() { $fields = array ( 'session_id VAR
“NOT NULL,last_activity INT(10)unsigned DEFAULT 0 NOT NULL,user_data text NO”的正确语法
以下是教程查询:
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`)');
}
您错过了$fields
数组中的user\u agent
列的实际默认值
改变这个
$fields = array (
...
'user_agent VARCHAR(120) DEFAULT NOT NULL',
...
);
对此
$fields = array (
...
'user_agent VARCHAR(120) DEFAULT \'0\' NOT NULL',
...
);
或者其他一些合理的默认值,如其他列。您是否缺少用户代理列的默认值?您是什么意思,先生?我的意思是用户代理VARCHAR(120)default XXX NOT NULL',
而不是用户代理VARCHAR(120)default NOT NULL',
。XXX。就像其他专栏一样。Mygoshhhhhhhhhhhhhh。。非常抱歉。。thx先生:'(对不起……非常感谢。没问题。那很简单:-)。
$fields = array (
...
'user_agent VARCHAR(120) DEFAULT \'0\' NOT NULL',
...
);