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

解决方案 »

  1.   


    老大,找到一个函数:coalesce,可以插入max(id)+1,但是要怎么把'.jpeg'给加上去啊?mysql_query("
    INSERT INTO image_tb 
    (images,link)
    SELECT 
    (1 + coalesce((SELECT max(id) FROM image_tb), 0)),'".$link."'
    ");
      

  2.   

    你的max在 php代码里,而不是在mysql的代码里。
    max接收的参数就是array
      

  3.   

    搞定了,还需要加一个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."'
    ");