あるテーブルから別のテーブルに日付の値を挿入したいと思います。残念ながら、これは期待どおりに動作しません。私は、日付の値が日付として認識されず、MySQLがそれを変換しようとしていると思います。ここでMySQLのあるテーブルから別のテーブルに日付の値を挿入する方法
は私のクエリです:
SELECT candidate_name, year_id, dateOfEvent, SUM(score) AS result FROM T1
この結果が与えられます:
+----------------+---------+-------------+--------+
| candidate_name | year_id | dateOfEvent | result |
+----------------+---------+-------------+--------+
| 17 | 4 | 2016-07-29 | 185 |
+----------------+---------+-------------+--------+
次のクエリを実行する場合
INSERT INTO T2 (name, yearID, event_date, some_value)
SELECT candidate_name, year_id, dateOfEvent, SUM(score) FROM T1
両方のカラムevent_date
とdateOfEvent
はタイプのDATE
です(上記のように)完全なクエリをしようと、次のエラーメッセージが表示され
:
Error Code: 1292. Truncated incorrect date value: 'Sun Jun 14 2015 12:02:54 GMT+0200 (CEST)'
誰もがその理由を知っていますか?私は2015年6月14日のような日付を持っていない...私が得ることができる唯一の事は、dateOfEvent
の列が何らかの形で台無しにされ、日付として再解釈されることです。
CREATE TABLE `T2` (
`name` int(11) NOT NULL,
`event_date` date NOT NULL,
`some_value` int(11) DEFAULT NULL,
`some_other_value` int(11) DEFAULT NULL,
`some_different_value` int(11) DEFAULT NULL,
`yearID` int(10) unsigned NOT NULL);
そして、T1のため
は:奇妙な...ここ
はT2のCREATEコマンドです(。どちらも、関連する部分を示しているだけに単純化されている)
CREATE TABLE `T1` (
`candidate_name` int(11) NOT NULL,
`score` int(11) DEFAULT NULL,
`zentrum` int(11) DEFAULT NULL,
`zehntel` float DEFAULT NULL,
`year_id` int(10) DEFAULT NULL,
dateOfEvent date NOT NULL);
'T2'テーブルにトリガがありますか? –
「T2」にトリガがありません。 – TomS
'INSERT'はテーブル' DDL'と一致しません。修正してください。 – sagi