У меня есть таблица с автоматически увеличивающимся идентификатором. Идентификатор также является внешним ключом в другой таблице. Когда я пытаюсь добавить значения в эти таблицы, я получаю исключение: количество столбцов не соответствует количеству значений в строке 1.
Это мои таблицы:
CREATE TABLE Hotspot(
num int auto_increment not null,
id varchar(255),
x int,
y int,
width int,
height int,
UNIQUE(id),
PRIMARY KEY (num)
);
CREATE TABLE Hotspot_Label(
num int auto_increment not null,
question_id varchar(255),
hotspot_id varchar(255),
label_id varchar(255),
PRIMARY KEY (num),
FOREIGN KEY (hotspot_id)
REFERENCES Hotspot(id),
FOREIGN KEY (label_id)
REFERENCES Label(id),
FOREIGN KEY (question_id)
REFERENCES Question(id)
);
Это хранимая процедура для одной из таблиц
PROCEDURE `insertHotspot`(IN recID varchar(255), x int, y int, width int, height int)
BEGIN
INSERT INTO Hotspot VALUES(recID, x, y, width, height);
END
Я читал, что вам не нужно вставлять значение автоматического увеличения в хранимую процедуру, поэтому я не вижу, что происходит не так.