Соответствие строк в MySQL: 1 изменено: 0 предупреждений: 0 для столбца даты

0

Схожие вопросы были заданы, но я не могу найти решение для моей конкретной проблемы.

Попытка обновить столбец "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 |
Теги:

2 ответа

0
Лучший ответ

Хорошо, мне очень жаль, но похоже, что перед триггером обновления был изменен end_date на NULL. Удар себя в голову, чтобы не проверить все.

0

Я считаю, что вам не хватает информации о имени столбца

т.е.

UPDATE Student SET 'end_date'="2017-12-22" WHERE studentID=256;
  • 0
    Извините, это не сработало. Я получаю те же результаты
  • 1
    Каковы ваши настройки автоматической фиксации? Вы случайно неявно участвуете в транзакции?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню