在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 +当前值。
答案 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