SQL Auto在同一个表中多次递增

时间:2015-09-08 23:13:08

标签: php mysql

我有一个基本的HTML输入表单,用于我为我的朋友设计的网站上的内置管理面板。他的想法是让他将使用PHP脚本编写的数据发布到数据库中,然后将数据吐回到索引页面。

问题:

每个条目显然在db(id,name,ep_num等)中都有自己的列。 id自动递增到数据库中,名称收集为$_POST['name'],但对于ep_num,我想为每个名称分配自动增量。

EG:

他发布了"你好"一次,给出了" 1"
的ep_num 他投入了#34; World"一次,给出了" 1"
的ep_num 他输入"你好"再次,给出了#34; 2"

的ep_num

我在工作中度过了漫长的一天,并且相信mysql_insert_id()可能是我正在寻找的东西,我只是努力让我的大脑工作并且希望你们其中一个人来帮助我。

提前致谢, 富

2 个答案:

答案 0 :(得分:3)

insert into t (name, ep_num) select 'b', count(*)+1 from t where name='b'; 

Demo on sqlfiddle

答案 1 :(得分:0)

INSERT INTO table (name,ep_num) VALUES ("hello",1)
ON DUPLICATE KEY UPDATE ep_num=ep_num+1;

要使用此语句,您需要将列名称设为主键或唯一索引,并在将名称更改为主键时将id设置为自动增量值。有关Duplicate key update

的更多信息