Объединение информации в одной таблице и перемещение ее в другую в MySQL

0

Мне нужно создать имена пользователей для файловой базы данных для класса, взяв имена "добровольцев" и создав для него имя пользователя.

У меня есть первое и последнее имя в одной таблице, и я создаю имя пользователя в отдельной таблице.

У меня не было проблем с переносом идентификационного номера из одной таблицы в другую, но у меня возникают проблемы с именами из таблицы, их объединением и копированием на другой.

Мой код, который я использовал (без успеха), выглядит следующим образом:

INSERT INTO Username (IDNumber, username) - это две переменные в новой таблице

SELECT ID_Number FROM Person - это работает без проблемы, ID_Number - это имя переменной в таблице Person, из которой я беру это. Я включаю это, поэтому у меня есть ссылка, если мне нужно присоединиться к таблицам в какой-то момент

SELECT CONCAT(FirstName, LastName) FROM Person; - это то, с чем я действительно сталкиваюсь. Если бы я мог быстрее связаться с моим учителем, я бы спросил, могу ли я иметь еще два столбца для имен в новой таблице и объединить их таким образом, потому что у меня есть ощущение, что это будет проще.

Что я здесь делаю неправильно?

В принципе, я хочу взять первое и последнее имя из первой таблицы и объединить их для вставки в новую таблицу.

Edit: Перечитывая, что я набрал, я решил сделать себя немного яснее: я попробовал IDNumber самостоятельно, и он работал без проблем. Когда я пытаюсь объединить эти три строки, он возвращает ошибку, сообщающую мне проверить синтаксис.

Теги:

1 ответ

1
Лучший ответ

Ну, вы хотите CONCAT(FirstName, ' ', LastName) иначе вы получите LarryEllison а не Larry Ellison в своей новой таблице.

Вы на правильном пути с INSERT... SELECT. Вы, вероятно, хотите

  INSERT INTO UserName (IDNumber, username)
       SELECT IDNumber, 
              CONCAT(FirstName, ' ', LastName) username
         FROM Person

Идея состоит в том, чтобы написать SELECT которая соответствует столбцу оператора INSERT для столбца. Вы можете протестировать все это неразрушительно, запустив SELECT без INSERT и убедившись, что он выглядит правильно.

  • 0
    Если это для имени пользователя, вполне вероятно, что он не хочет места там.
  • 0
    @GregSchmidt Это возможно. Но теперь он знает, что может случиться.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню