insert max(id)+1报错

mumubangditu 2012-11-29 04:16:08
php 如何只用一个查询语句,insert max(id)+1?

mysql_query("
insert into image_tb
(images,link)
select
'".(max(id)+1).".jpeg','".$link."'
from image_tb
");


Warning: max(): When only one parameter is given, it must be an array
...全文
288 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
mumubangditu 2012-11-29
  • 打赏
  • 举报
回复
搞定了,还需要加一个CONCAT(),结合一下.jpeg,这样的话,一个mysql_query就可以插入了。 终于有一次,自己解决的速度 > 星星高手们帮助的速度了。
mysql_query("
INSERT INTO image_tb 
(images,link)
SELECT 
CONCAT((1 + coalesce((SELECT max(id) FROM image_tb), 0)), '.jpeg'),'".$link."'
");
床上等您 2012-11-29
  • 打赏
  • 举报
回复
你的max在 php代码里,而不是在mysql的代码里。 max接收的参数就是array
mumubangditu 2012-11-29
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
您不能在向一个表插入的同时,又在一个子查询中从同一个表中选择。
老大,找到一个函数:coalesce,可以插入max(id)+1,但是要怎么把'.jpeg'给加上去啊?
mysql_query("
INSERT INTO image_tb 
(images,link)
SELECT 
(1 + coalesce((SELECT max(id) FROM image_tb), 0)),'".$link."'
");
xuzuning 2012-11-29
  • 打赏
  • 举报
回复
您不能在向一个表插入的同时,又在一个子查询中从同一个表中选择。

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧