Я наклоняю достаточно выяснить, правильный способ сделать следующее:UPDATE 2 колонки во всех строках, используя значения() массив
1.) У меня есть столбец FULLNAME 2.) Мне нужно разделить этот столбец FULLNAME в первую & Фамилии куски 3.) Мне нужно, чтобы вставить «разбить» данные в соответствующие столбцы (которые в настоящее время пусты и в той же таблице)
Я не мог понять, как это сделать в одном запросе, поэтому я разбил его на шаги:
1.) получил мои данные разбивки (первые/последние строки)
SELECT fullname, SUBSTRING_INDEX(fullname,' ',1) AS fname, SUBSTRING_INDEX(SUBSTRING_INDEX(fullname,'.',2),' ',-1) AS lname FROM tablename;
который дал мой Fname & LName подстроки ..
я ошибочно попытался это:
INSERT INTO paypalRegistration (firstname, lastname) VALUES
("xxxx", "xxx"),
("yyy", "yyy"),
("zzz", "zzz"),...etc..
который просто вставить вещи в новые строки .. (и вратаря обновить существующие строки [с пустыми столбцами] уже в таблице)
Итак, я тогда пробовал:
UPDATE paypalRegistration SET(firstname, lastname) VALUES ("xxxx", "xxx"),
("yyy", "yyy"), ("zzz", "zzz"),...etc..
но получена ошибка ..
У вас возникла ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с именем (имя, фамилия) VALUES («xxxx», «xxx») .....
Итак, на данный момент мой вопрос: два раза.
1.) Как я могу сделать это в 1 запросе?
2.) В момент, когда я нахожусь, правильный способ обновить столбцы 2+ с уникальными значениями, как у меня выше?
Update:
Это то, что работает для меня в конце концов:
UPDATE myTable SET firstname=SUBSTRING_INDEX(fullname,' ',1), lastname=SUBSTRING_INDEX(SUBSTRING_INDEX(fullname,'.',2),' ',-1);
Примите к сведению ответ, если он правильный. или дать некоторые комментарии, по крайней мере, если это не тот ответ, который вы искали. – exodream