2016-05-02 19 views
1

DATETIMEの2つの列を1つの列DATETIMEに連結しようとしています。MySQLのDATETIME列に日付と時刻の列をマージする

これらの列はすでに存在していますが、異なる表にあります。

構造が似ている:

表1:column_datetime (YYYY-MM-DD HH:MM:SS)

表2:column_date (YYYY-MM-DD), column_time(HH-MM-SS).

Iは表1を更新する必要があると私はこの試み:

UPDATE table1 SET column_datetime = CONCAT('table2.column_date', ' ', 'table2.column_time'); 

しかし、それは言う:

不正な日時の値:「table2.column_dateのtable2.column_time 列のための '行でcolumn_datetime' 1

答えて

1

この文字列で検索してください:

UPDATE table1, table2 
SET column_datetime = STR_TO_DATE(CONCAT(table2.column_date, ' ', table2.column_time), '%Y-%c-%e %T') 
WHERE table1.FK_ID = table2.ID ; 
+0

私はそれを試してみたが、それ言う:不正な時間値:関数str_to_dateの'15:50:32 '。 「%Y-%m-%d%h:%i:%s」の代わりに '%Y-%c-%e%r'を試したところ、同じエラーが表示されます: -08-11 15:50:32 'for function str_to_date –

+0

24時間表記のためです。 %rの代わりに%Rを使用してください。私はコードを更新しました –

+1

あなたの助けていただきありがとうございます、それは%T ^^ –

関連する問題