在mysql查询中将一列值分解为两列?

I want to split one column into two column and update into other two column.

Like below.

Name              FirstName      LastName
ABC NAME             ABC           NAME
PQR RNP              PQR           RNP
SUM NUM              SUM           NUM

explode and update name field value and update into same tables two column FirstName and LastName.

If you want to do this directly in MySQL, you would need the following queries:

ALTER TABLE yourtable ADD COLUMN FirstName VARCHAR(30),
                      ADD COLUMN LastName VARCHAR(30);
UPDATE yourtable 
    SET FirstName = SUBSTRING_INDEX(Name, ' ', 1),
        LastName = IF(LOCATE(' ', Name) = 0, '', SUBSTRING_INDEX(Name, ' ', -1));
ALTER TABLE yourtable DROP COLUMN Name;

Always back up your table before making structural modifications.

Solution :

UPDATE campaign_participants SET first_name = SUBSTRING_INDEX( name,  ' ', 1 ) ,
last_name = IF(SUBSTRING_INDEX( name,  ' ', 1 ) != SUBSTRING_INDEX( name,  ' ', -1 ), SUBSTRING_INDEX( name,  ' ', -1 ), "");
SELECT
  Name,
  LEFT(Name, LOCATE(' ', Name) - 2) AS FirstName,
  RIGHT(Name, LENGTH(Name) - LOCATE(' ', Name)) AS LastName
FROM
  my_table;

If you're using a different SQL engine you might want to change LENGTH() to LEN() and LOCATE() to CHARINDEX().