用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3738|回复: 10
收起左侧

[HELP] 插入问题!

[复制链接]
发表于 2011-6-7 11:22:15 | 显示全部楼层 |阅读模式
各位大侠,我遇到一个插入问题,求解。

Error Number: 1364
Field 'id' doesn't have a default value
INSERT INTO `users_tb` (`memberName`, `userRealName`, `sex`, `birthday`, `email`, `question`, `answer`) VALUES ('12', '1', '1', '1', '1', '1', '1')
Filename: E:\phpworkspace\ci_php\system\database\DB_driver.php
Line Number: 330


看问题是id没有默认值,我数据库设置的是自增的。


发表于 2011-6-7 13:22:42 | 显示全部楼层
本帖最后由 IT不倒翁 于 2011-6-7 17:42 编辑

INSERT INTO `users_tb` (`id`, `memberName`, `userRealName`, `sex`, `birthday`, `email`, `question`, `answer`) VALUES (``, '12', '1', '1', '1', '1', '1', '1')

你的语句是怎么写的
id 设为主键,自增
 楼主| 发表于 2011-6-7 14:35:33 | 显示全部楼层
                $this->memberName=$_POST['memberName'];
                        $this->userRealName=$_POST['userRealName'];
                        $this->sex=$_POST['sex'];
                        $this->birthday=$_POST['birthday'];
                        $this->email=$_POST['email'];
                        $this->question=$_POST['question'];
                        $this->answer=$_POST['answer'];
                        $insertQuery=$this->db->insert('users_tb',$data);
大侠我的这个应该怎么改呢?
发表于 2011-6-7 16:16:20 | 显示全部楼层
本帖最后由 jeongee 于 2011-6-7 16:16 编辑
飞雪爱追梦 发表于 2011-6-7 14:35
$this->memberName=$_POST['memberName'];
                        $this->userRealName=$_POST['userRealName'];
                        $this->s ...

$data['memberName']=$_POST['memberName'];
                        $data['userRealName']=$_POST['userRealName'];
                        $data['sex']=$_POST['sex'];
                        $data['birthday']=$_POST['birthday'];
                       $data['email']=$_POST['email'];
                       $data['question']=$_POST['question'];
                        $data['answe']r=$_POST['answer'];
                        $insertQuery=$this->db->insert('users_tb',$data);
认真看看手册吧
 楼主| 发表于 2011-6-7 16:50:38 | 显示全部楼层
jeongee 发表于 2011-6-7 16:16
$data['memberName']=$_POST['memberName'];
                        $data['userRealName']=$_POST['use ...

不是这个问题,是插入的时候id报错了,说没有默认值,这样的写法和我的差不多,我上面的那发错了,应该是insert('users_tb',$this);我就是不知道这个地方怎么来设id。
发表于 2011-6-7 16:53:08 | 显示全部楼层
飞雪爱追梦 发表于 2011-6-7 16:50
不是这个问题,是插入的时候id报错了,说没有默认值,这样的写法和我的差不多,我上面的那发错了,应该是 ...

不能使用$this,你必须要使用一个新的变量
 楼主| 发表于 2011-6-7 16:59:08 | 显示全部楼层
jeongee 发表于 2011-6-7 16:53
不能使用$this,你必须要使用一个新的变量

刚刚尝试了下,仍然报那个错。
发表于 2011-6-7 17:00:35 | 显示全部楼层
飞雪爱追梦 发表于 2011-6-7 16:59
刚刚尝试了下,仍然报那个错。

贴一下你的表结构
 楼主| 发表于 2011-6-7 17:06:23 | 显示全部楼层
以下是表结构

表结构

表结构

点评

这不是表结构,呵呵  发表于 2011-6-7 17:38
发表于 2011-6-7 17:08:28 | 显示全部楼层
飞雪爱追梦 发表于 2011-6-7 17:06
以下是表结构

这不是表结构
你的id字段有没设置成自增啊?

本版积分规则