Схожие вопросы были заданы, но я не могу найти решение для моей конкретной проблемы.
Попытка обновить столбец "end_date" в таблице Student, но я получаю соответствие: 1 изменено: 0 предупреждений: 0 в качестве сообщения.
Вот именно, что я сделал.
mysql> SELECT studentID,end_date FROM Student WHERE studentID = 256;
+-----------+----------+
| studentID | end_date |
+-----------+----------+
| 256 | NULL |
+-----------+----------+
1 row in set (0.00 sec)
mysql> UPDATE Student Set end_date = '2017-12-22' WHERE studentID = 256;
Query OK, 0 rows affected (0.01 sec)
Rows matched: 1 Changed: 0 Warnings: 0
mysql> SELECT studentID,end_date FROM Student WHERE studentID = 256;
+-----------+----------+
| studentID | end_date |
+-----------+----------+
| 256 | NULL |
+-----------+----------+
1 row in set (0.00 sec)
пытаясь изменить end_date на '2017-12-22'. Значения столбца end_date из запроса выбора по сравнению с запросом на обновление явно различаются, поэтому я не уверен, что происходит. Чтобы дважды проверить, я снова выполнил запрос выбора после запроса на обновление. Странно я могу изменить физическое_дату и start_date просто отлично с аналогичным оператором обновления.
Вот еще какой-то контекст в моей таблице учеников, используя запрос SHOW CREATE TABLE.
CREATE TABLE 'Student' (
'studentID' int(11) NOT NULL AUTO_INCREMENT,
'last_name' varchar(45) NOT NULL,
'first_name' varchar(45) NOT NULL,
'sex' varchar(1) NOT NULL,
'DOB' date NOT NULL,
'age' decimal(5,2) NOT NULL,
'start_date' date NOT NULL,
'physical_date' date NOT NULL,
'status' varchar(20) NOT NULL COMMENT 'active\ninactive',
'room' varchar(20) NOT NULL,
'auth_type' varchar(1) NOT NULL COMMENT 'C\nS\nO',
'tuition_type' varchar(45) NOT NULL COMMENT 'full\npart',
'email' varchar(80) DEFAULT NULL,
'phone_number' varchar(12) DEFAULT NULL,
'end_date' date DEFAULT NULL,
'allow_picture' varchar(3) DEFAULT NULL COMMENT 'yes\nno',
PRIMARY KEY ('studentID'),
KEY 'fk_Student_Room_idx' ('room')
) ENGINE=InnoDB AUTO_INCREMENT=262 DEFAULT CHARSET=utf8 |
Хорошо, мне очень жаль, но похоже, что перед триггером обновления был изменен end_date на NULL. Удар себя в голову, чтобы не проверить все.
Я считаю, что вам не хватает информации о имени столбца
т.е.
UPDATE Student SET 'end_date'="2017-12-22" WHERE studentID=256;