根据用户位置插入值

时间:2012-12-29 13:50:10

标签: mysql sql

在mySql中,是否可以根据某些内容进行插入?就我而言,我想根据用户位置进行插入。这些地点如美国,英国,澳大利亚,加州等。 因此,如果位置是美国,我想做1-0001,1-0002等,对于英国2-001,200-2等。

也许通过使用类似的情况这可能吗?

我目前的插页是这样的:

insert into prodClassifieds (userId, userName, classStatus, classCountry, classId)
   select
     $userId, 
     '$userName', 
     1,
     '$userCountry',
     IFNULL((MAX(classId)+1) ,0)
   FROM prodClassifieds
编辑:我可以在1-0001中省略 - 。 MAX(col)也是MAX(classId),而不是我最初发布的那个。下一个值是1 +当前值。

2 个答案:

答案 0 :(得分:0)

是的,这是可能的,

insert into prodClassifieds 
(userId, userName, classStatus, classCountry, classId) 
select $userId, '$userName', 1,
'$userCountry', 
 case when userCountry='US' then 
MAX(sc_stack_id)+1 else 0 end
FROM prodClassifieds 

你可以根据需要添加几个条件

答案 1 :(得分:0)

使用CASE WHEN如下:

insert into prodClassifieds (userId, userName, classStatus, classCountry, classId)
   select
     $userId, 
     '$userName', 
     CASE '$userCountry' WHEN 'US' THEN 10000 WHEN 'UK' THEN 20000 ELSE 90000 END CASE
     + 1,
     '$userCountry',
     IFNULL((MAX(sc_stack_id)+1) ,0)
   FROM prodClassifieds