同様の質問がされましたが、私の特定の問題の解決策を見つけることができないようです。MySQLの行が一致しました:1変更:0警告:0日付の列の場合
生徒用テーブルの「end_date」列を更新しようとしましたが、一致しました:1変更:0警告:0としてのメッセージ。
これは私がしたものです。 '2017年12月22日' にEND_DATEを変更しようと
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カラムの値は明らかに異なるため、何が起こっているのか分かりません。ダブルチェックするために、私は選択クエリを更新クエリの後に再度実行しました。不思議なことに、私はphysical_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である2つの同一の結果しか表示されないので、全く違いはありません –
申し訳ありませんが、より明確にするために質問が更新されます。私は、2つの選択クエリの途中で更新クエリを参照していました。 – Clicky