Code :
UPDATE elections_ls_2014_stats e
JOIN `pc-details` p
ON ( e.name LIKE CONCAT('%' ,p.candidate_name ,'%') )
SET e.pc_details_id = p.id WHERE p.year = '2014'
AND p.`candidate_results_position` ='1' AND e.pc_details_id IS NULL
这里它没有按预期工作例如:D r
潘杜拉·拉文德拉·巴布和潘杜拉·拉文德拉·巴布这是这种情况未按预期工作的情况之一,表示更新查询不起作用。
但在选择语句中,我得到了上述情况的结果.(潘杜拉·拉文德拉·巴布博士和潘杜拉·拉文德拉·巴布)
法典:
SELECT pd.id AS pc_details_id, el.id AS election_2014_id, pd.candidate_name, el.name
FROM `pc-details` pd, `elections_ls_2014_stats` el
WHERE pd.`year` LIKE '2014'
AND pd.`candidate_results_position` =1
AND pd.candidate_name LIKE CONCAT( '%', el.name, '%' )
我在更新查询中做错了什么吗.
任何建议将不胜感激。谢谢
在UPDATE
查询中,LIKE
表达式与SELECT
查询中的表达式相反。试试这个:
UPDATE elections_ls_2014_stats e
JOIN `pc-details` p
ON p.candidate_name LIKE CONCAT('%', e.name, '%')
SET e.pc_details_id = p.id WHERE p.year = '2014'
AND p.`candidate_results_position` ='1' AND e.pc_details_id IS NULL
您可以在下面尝试 -
UPDATE elections_ls_2014_stats e
JOIN `pc-details` p
SET e.pc_details_id = p.id
WHERE p.year = '2014'
AND p.`candidate_results_position` ='1' AND e.pc_details_id IS NULL and e.name LIKE CONCAT('%' ,p.candidate_name ,'%')