У меня есть четыре столбца: ID, STARTTIME, ENDINGTIME и DURATION.
Таблица создается с:
CREATE TABLE tableName (
ID INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
STARTTIME TIMESTAMP,
ENDINGTIME TIMESTAMP,
DURATION TIME);
Идентификатором является столбец auto_increment. Тогда у меня есть код для вставки нового STARTTIME:
INSERT INTO tableName(STARTTIME) VALUES(CURRENT_TIMESTAMP);
Во-вторых, у меня есть код для обновления строки с наибольшим идентификатором для установки ENDINGTIME:
SET @latestInsertID = (SELECT MAX(ID) FROM tableName);
UPDATE tableName SET ENDINGTIME=(CURRENT_TIMESTAMP) WHERE ID=@latestInsertID;
Сейчас Я могу выполнить оба (все три) запроса без исключения, и первый запрос работает совершенно нормально (как я и ожидал). Но последний запрос обновляет (из строки, которую я хотел обновить) ENDINGTIME, а также STARTTIME. Почему он просто не обновляет ENDINGTIME?
Спасибо за каждое решение!