2016-08-05 3 views
0

私はpowershellによるデータベースバックアップによって自動化するのに問題があります。私はエポックタイムの特定の定義された値より古い(または> =より良い)特別なテーブルに毎日すべてのレコードをエクスポートしたいと思います。テーブルのmysqldumpは、特定のエポックタイム値より古いすべてのデータの条件を指定します。

私のテーブルには、このような構造のようになります。ここ

mysql> show columns from generalhistory; 
+-----------+--------------+------+-----+-------------------+----------------+ 
| Field  | Type   | Null | Key | Default   | Extra   | 
+-----------+--------------+------+-----+-------------------+----------------+ 
| ID  | int(11)  | NO | PRI | NULL    | auto_increment | 
| DPName | varchar(100) | NO |  | NULL    |    | 
| Value  | varchar(100) | NO |  | NULL    |    | 
| Timestamp | timestamp | NO |  | CURRENT_TIMESTAMP |    | 
| Manager | varchar(100) | NO |  | NULL    |    | 
| EpochTime | bigint(20) | NO |  | NULL    |    | 
+-----------+--------------+------+-----+-------------------+----------------+ 

は、私はPowerShellのウィンドウで実行しようとするが、何もデータからそこにエクスポートされません私のコマンドです。

PS D:\xampp\mysql\bin> .\mysqldump.exe --no-create-db --no-create-info --skip-triggers -u root -pmypassword homescada generalhistory --where="EpochTime > '1470268800975'" 

私もこの解決方法を試しましたが、成功しませんでした。

PS D:\xampp\mysql\bin> .\mysqldump.exe --no-create-db --no-create-info --skip-triggers -u root -pmypassword homescada generalhistory --where="'Timestamp' BETWEEN '2016-06-11 09:26:01' AND '2016-08-05 09:26:01'" 

あなたは私が間違って何をすべきかknwoのですか?#

多くのおかげ

ディーター

+0

可能な重複:-(ダンプ中にデータを取得しない理由http://stackoverflow.com/questions/38916163/php-regular-backup-of-mysql-data) – e4c5

答えて

0

MySQLのテーブルのフィールドは、通常はバッククォートではなく、単一引用符で囲まれています。このコマンドを1行で試してみてください。

PS D:\xampp\mysql\bin> .\mysqldump.exe --no-create-db --no-create-info --skip-triggers -u 
root -pmypassword homescada generalhistory --where="`Timestamp` 
BETWEEN '2016-06-11 09:26:01' AND '2016-08-05 09:26:01'" 

MySQLのダンプを取得するので、構文は正しいです。 WHERE句があまりにも制限的なので、おそらくデータが得られません。 MySQLへ接続し、homescadaデータベースで次の問合せを実行します。

SELECT * FROM generalhistory 
WHERE `Timestamp` BETWEEN '2016-06-11 09:26:01' AND '2016-08-05 09:26:01' 

はそれが本当にデータを返していますか?

構文は、ここで説明されています

+0

私はあなたの推薦を試みたが成功しなかった。 –

+0

@DSchneider私の答えにさらに情報を追加した。 – Jocelyn

0

mysqldump with where option私はこのSQLクエリを試してみましたが、それが動作します。

SELECT * FROM generalhistory 
WHERE `Timestamp` BETWEEN '2016-06-11 09:26:01' AND '2016-08-05 09:26:01' 

ID DPName Value Timestamp Manager EpochTime 
2400 Buero.Sensor.Temp 28.60 "2016-06-11 09:26:01" Event 1465629961000 
2401 Buero.Sensor.Hum 46.40 "2016-06-11 09:26:01" Event 1465629961000 

は、私は本当に分からない、私は([MySQLデータのPHP定期的なバックアップ]の

関連する問題