0

在 mySql 中,是否可以基于某些东西进行插入?就我而言,我想根据用户的位置进行插入。这些地点就像美国、英国、澳大利亚、加利福尼亚等。所以如果地点是美国,我想做 1-0001、1-0002 等,英国 2-001、2-002 等。

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

我当前的插入是这样的:

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 + 那里的当前值。

4

2 回答 2

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 
于 2012-12-29T13:58:19.540 回答
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 

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

于 2012-12-29T13:54:20.343 回答