#mysql #sql #sql-insert
#mysql #sql #sql-вставка
Вопрос:
ЗНАЧЕНИЕ недопустимо в этой позиции
Ошибка включена VALUES
в INSERT
инструкции. В нем указано, что оно не поддерживается в этой версии. Означает ли это, что мне требуется обновление или мой синтаксис неправильный?
create schema Cleudo;
USE CLEUDO;
create table Victim(
Vic_ID INT NOT NULL AUTO_INCREMENT,
Vic_Title VARCHAR(10) NOT NULL,
Vic_Name VARCHAR(30) NOT NULL,
Vic_Room VARCHAR(30) NULL,
Vic_TOD VARCHAR(5) NULL,
Vic_Weapon VARCHAR(30) NULL,
PRIMARY KEY ( VIC_ID )
);
INSERT INTO Victim VALUES ('Miss','Scarlet','Library','10:45','candle-Stick');
Ответ №1:
Когда я запускаю ваш код, я получаю следующую ошибку:
Количество столбцов не соответствует количеству значений в строке 1
Это происходит потому, что вы не присваиваете значение таблице Vic_ID
(что имеет смысл, поскольку оно автоматически увеличивается). Чтобы избежать ошибки, вам нужно перечислить целевые столбцы следующим образом:
INSERT INTO Victim (Vic_Title, Vic_Name, Vic_Room, Vic_TOD, Vic_Weapon)
VALUES ('Miss','Scarlet','Library','10:45','candle-Stick');
Ответ №2:
Вы получаете эту ошибку, потому что количество столбцов не совпадает, поэтому вам нужно изменить свой запрос на это:
INSERT INTO Victim(Vic_Title,Vic_Name,Vic_Room,Vic_TOD,Vic_Weapon) VALUES ('Miss','Scarlet','Library','10:45','candle-Stick');
Если вы хотите указать значение Vic_ID, вы можете попробовать этот запрос ниже:
INSERT INTO Victim VALUES (NULL,'Miss','Scarlet','Library','10:45','candle-Stick')