#mysql
#mysql
Вопрос:
Я недавно запустил MySQL, и у меня есть MySQL Workbench, и я создаю таблицу.
Но есть раздел, в котором есть красный крест, и я не знаю, что не так с моим кодом. Я попытался изменить синтаксис, но ошибка не исчезает. Кто-нибудь, пожалуйста, может мне помочь?
CREATE DATABASE form_acceptance;
CREATE TABLE form_acceptance (
PersonID int,
Player_Name varchar(255),
Countries varchar(255),
Username varchar(255),
Level_and_rank varchar(255),
Max_BR varchar(255)
);
INSERT INTO form_acceptance (SayByeBye_exe, SayByeBye_exe, US, '^GYMP^SayByeBye_exe', '12_Luitenant', '4.7');
SELECT PersonID, Player_Name, Countries, Username, Level_and_rank, Max_BR
Пока это мой код. За исключением того, где говорится, INSERT INTO form_acceptance
что это неправильно, и я понятия не имею, почему.
введите описание изображения здесь
Спасибо
Комментарии:
1. Ваш заголовок не отражает фактическую проблему. Это затрудняет поиск.
Ответ №1:
Похоже, что вы грубо выполнили логику вставки в обратном направлении, указав имена целевых столбцов в select и буквальные значения в предложении insert. Попробуйте изменить этот порядок:
INSERT INTO form_acceptance (PersonID, Player_Name, Countries, Username, Level_and_rank, Max_BR)
SELECT 'SayByeBye_exe', 'SayByeBye_exe', 'US', '^GYMP^SayByeBye_exe', '12_Luitenant', '4.7';
Вы также могли бы просто использовать VALUES
предложение здесь:
INSERT INTO form_acceptance (PersonID, Player_Name, Countries, Username, Level_and_rank, Max_BR)
VALUES
('SayByeBye_exe', 'SayByeBye_exe', 'US', '^GYMP^SayByeBye_exe', '12_Luitenant', '4.7');
Комментарии:
1. PersonID — это столбец int. Поэтому ‘SayByeBye_exe’ выдаст ошибку.
Ответ №2:
Вам просто нужно изменить свой синтаксис —
INSERT INTO form_acceptance (PersonID, Player_Name, Countries, Username, Level_and_rank, Max_BR)
SELECT Some_integer_value, 'SayByeBye_exe', 'US', '^GYMP^SayByeBye_exe', '12_Luitenant', '4.7';