在往mysql中插入记录时怎样获得这条记录的id值
在往mysql中插入记录时怎样获得这条记录的id值
我想要的效果是怎样的在插入记录的时候 有一个字段的值要和id一样
分享到: 更多
——解决方案——————–
LAST_INSERT_ID()+1
——解决方案——————–
假设$db是你的数据库对象,$sql是你要执行的sql语句。
先执行$db->query($sql);
再执行$last_id = $db->insert_id();
那么$last_id就是你需要的那个ID
——解决方案——————–
<br />public function insert($data) {<br /> if (!is_array($data) <br><font color='#FF8000'>------解决方案--------------------</font><br> empty($data)) return 0;<br /> $data = $this->build_insert($data);<br /> $sql = <a style="color:transparent">本@文来源gao($daima.com搞@代@#码(网5</a><strong>搞gaodaima代码</strong>sprintf("INSERT INTO %s %s", $this->table_name, $data);<br /> $result = $this->query($sql);<br /> return $this->insert_id();<br />}
——解决方案——————–
当字段id被设置AUTO_INCREMENT自增的时候可以使用一下方式获取:
mysql函数:LAST_INSERT_ID();
php函数:mysql_insert_id();
注:如果字段不是AUTO_INCREMENT的,以上函数将返回0;
——解决方案——————–
插入后,mysql_insert_id() 这个就是插入的id值
——解决方案——————–
mysql_insert_id() 函数返回上一步 insert操作产生的 ID。假如不是自增(AUTO_INCREMENT) 的 ID,那么 mysql_insert_id() 返回 0。
——解决方案——————–
可以是这样的一个思路:
1)先插入主数据,那个和id样值的字段留空;
2)再用$id = mysql_insert_id()获取刚刚插入数据的id;
3)再用update table set 字段={$id}把那个字段更新成和id一样的值
或者先查出目前的最大id,对id加1,再手动插入id和那个和id一样值的字段,设置他们的值等于加1后的id
搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:在去mysql中插入记录时怎样获得这条记录的id值
转载请注明原文链接:在去mysql中插入记录时怎样获得这条记录的id值
