我试图在REDES表中获取最大主键,以便添加一个,但它不起作用。我也想知道这是否是最好的方式,如果它是安全的。
// mysql inserting a new REDES field
//$redes_maxid = mysql_query("SELECT MAX(id_redessociales) AS id FROM REDES");
//$newmaxid = $redes_maxid + 1;
$redes_maxid = mysql_fetch_row(mysql_query("SELECT max(id_redessociales) AS id FROM REDES"));
$newmaxid = $redes_maxid[0] + 1;
mysql_query("INSERT INTO REDES(id_redessociales, facebook, twitter, linkedin, pinterest) VALUES ('$newmaxid', NULL, NULL, NULL, NULL");
谢谢!
答案 0 :(得分:1)
你正在做的事情是非常不安全和错误的。
这就是为什么我们在数据库中有auto increment
个字段,只需将表中的id
字段设置为自动递增,然后在插入新行时只需将NULL
传递给{{} 1}},MySQL它将自动安全地为你做这个增量。
答案 1 :(得分:0)
您可以按降序排序并限制1行结果
来获取最后一个ID替换此行
$redes_maxid = mysql_fetch_row(mysql_query("SELECT max(id_redessociales) AS id FROM REDES"));
与
$redes_maxid = mysql_fetch_row(mysql_query("SELECT id_redessociales AS id FROM REDES order by id_redessociales DESC limit 1"));
答案 2 :(得分:-1)
NULL
,数据库将自动将其编号为最后一个ID + 1
如果您正在使用mySql,那么您可以使用此SQL语句
ALTER TABLE `myTable` CHANGE `id` `id` TINYINT( 3 ) PRIMARY KEY UNSIGNED NOT NULL AUTO_INCREMENT