基于mysql中的select,在插入期间递增非自动增量字段

时间:2011-02-02 05:14:41

标签: mysql select insert

我正在使用select语句将记录从一个表插入到另一个表中。插入的表具有一个新字段,每个更新中应该增加1,但不应该是自动增量字段,因为每次更新时每个记录组需要再次启动该字段。如果正在使用的select语句选择42条记录,则新表将有一个字段,对于以1开头的每条记录,该字段递增1。下一组应该再次将此字段设置为1,然后对所选的每条记录进行递增。这可能吗?我无法找到要使用的语法,因为我的大部分搜索只是找到有关自动增量键的结果。

INSERT into images (filename, imgpath, imagenumber)
SELECT filename, imgpath, 1+
FROM old_images
WHERE event_id = 20

这是表格的一个简单示例,但我想知道是否有办法在mySql中直接增加图像表中imagenumber字段的内容。

1 个答案:

答案 0 :(得分:4)

查看使用User-Defined Variables

的内容
SET @t1=0; 
INSERT into images (filename, imgpath, imagenumber) 
SELECT  filename, 
        imgpath, 
        @t1 := @t1+1 
FROM    old_images 
WHERE   event_id = 20