热搜:NVER node 开发 php

如何插入自增id

2024-09-11 16:55:01
如何插入自增id

数据表中已设为自增。

//insert_arr(表名,字段名,插入值)   ---》得到数组插入到数据库中 //public function insert_arr($tab_name,$tab_filed="",$insert_arr){   }
}
是全字段插入还是选择字段问题。
if(省略){
   当一个表有10几个字段的时候,这样做感觉省略了好多,但是面对自增ID的字段如何给值。
   后期修改了表结构的时候,字段的排序或者增加字段,代码肯定报错,这样恐怕不行。
}else{
  一个表10几个字段都要写,后期应对表修改的时候不会出现问题,是不是我太懒了。。。。
}


回复讨论(解决方案)

自增字段可以缺省,也可以根据你的数据库配置赋予 0 或 null

你似乎是在写数据库操作类
但 $tab_filed 参数没有传递的必要
因为 $insert_arr 应该是关联数组,关联键应为字段名

楼上正解,字段名这个参数完全没必要

库里已经设为自增的就没必要插入了

这个我知道,关键是你字段名不写,它不就默认是全部字段么,那你总得给它一个值。
mysql里面给它空值是可以插入进去的,但是通过php插入是不行的。

这个我知道,关键是你字段名不写,它不就默认是全部字段么,那你总得给它一个值。
mysql里面给它空值是可以插入进去的,但是通过php插入是不行的。

直接给NULL就可以了

明白了,谢谢。


这个我知道,关键是你字段名不写,它不就默认是全部字段么,那你总得给它一个值。
mysql里面给它空值是可以插入进去的,但是通过php插入是不行的。

直接给NULL就可以了
$sql="insert into test values('uu5','uu5',NULL)";这种确实可以。
不过我说的是这种情况,$a应该给什么值?$a的位置是自增ID。
$a;
$sql="insert into test values('uu5','uu5',$a)";



这个我知道,关键是你字段名不写,它不就默认是全部字段么,那你总得给它一个值。
mysql里面给它空值是可以插入进去的,但是通过php插入是不行的。

直接给NULL就可以了
$sql="insert into test values('uu5','uu5',NULL)";这种确实可以。
不过我说的是这种情况,$a应该给什么值?$a的位置是自增ID。
$a;
$sql="insert into test values('uu5','uu5',$a)";


干嘛非要写个变量,有什么其他用途吗?