2016-01-22 10 views
5

私はpostgresのに新しいですし、私は静かに時々用のMySQLに取り組んできました。私は、MySQLのテーブルからPostgresのテーブルにコンテンツを移行する必要があります。Mysqlのタイムスタンプをsysdate(6)形式(ミリ秒)に変換する方法は?

私のPostgresのテーブル、このようなものです:

   Column    |   Type    |           Modifiers            
--------------------------------+-----------------------------+------------------------------------------------------------------------------------------------ 
id        | integer      | 
created_at      | timestamp without time zone | not null default timezone('UTC'::text, now()) 
updated_at      | timestamp without time zone | not null default timezone('UTC'::text, now()) 
key_classification    | character varying(2000)  | not null 

私は形であるMySQLのテーブルからのcreated_atとupdated_atの値「2014年9月4日夜11時40分14秒」を挿入しています。

私のpostgresテーブルに行を挿入すると、デフォルトのタイムスタンプは "2016-01-22 17:44:53.342757"という形式になります。これはタイムスタンプのミリ秒です。

これで、postgresのテーブル形式と一致するように、mysqlのタイムスタンプ形式にミリ秒を追加する必要があります。

タイムスタンプにミリ秒を追加するために助けてください。

ありがとうございます!

+3

すべてのベストたぶん、あなたは(http://stackoverflow.com/questions/26299149/timestamp-with-a-millisecond [MySQLで保存する方法をミリ秒presicionとタイムスタンプ]を読む必要があります-precision-how-to-save-them-in-mysql) – eusoj

+0

この精度がmysqlに必要ですか、それともマイグレーションに必要と思われますか? postgresqlは、 "2016-01-22 00:00:00.000000"の省略形として "2016-01-22"さえも短いタイムスタンプもうれしく受け入れます – knitti

答えて

0

朝私はこれが助けてくれるといいですか?

Iは、MySQL/MariaDB

MariaDB [(none)]> SHOW VARIABLES LIKE "%version%"; 
+-------------------------+-----------------+ 
| Variable_name   | Value   | 
+-------------------------+-----------------+ 
| innodb_version   | 5.6.25-73.1  | 
| protocol_version  | 10    | 
| slave_type_conversions |     | 
| version     | 10.0.21-MariaDB | 
| version_comment   | MariaDB Server | 
| version_compile_machine | x86_64   | 
| version_compile_os  | Linux   | 
| version_malloc_library | system   | 
+-------------------------+-----------------+ 
8 rows in set (0.00 sec) 

を実行していると私は

As mysql Admin 
mysql -u USERNAME -p 

CREATE USER 'test'@'localhost' IDENTIFIED BY 'test'; 

CREATE DATABASE test; 

GRANT ALL ON test.* TO 'test'@'localhost'; 

が終了し、その後、としてログイン例を実行するには、MySQLのバージョン5.7

ある11.3.6 Fractional Seconds in Time Values を参照していますテスト

mysql -u test -p 

パスワードが挿入された値を使用して、mysqlの挿入したいタイムスタンプ形式でテスト

その後

CREATE TABLE test.td6(ts6 timestamp(6)); 

INSERT INTO test.td6 VALUES ('2016-01-22 17:44:53.342757'); 

です。 Example Results Ref msql 5.7

関連する問題