Я не могу исправить эту проблему MySQL

#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';