[vz-users] Löschen von Datenbankeinträgen ab einem bestimmten Zeitindex (Unix-time) mittels SQL

Heine.thomas at online.de Heine.thomas at online.de
Sun Jan 10 14:20:52 CET 2016


Hallo,

leider ergab der Befehl:

*delete from `data` where substr(from_unixtime((`timestamp` / 
1000)),1,10) < '2016-01-01';*

dann einen Fehler:
*
**#1205 - Lock wait timeout exceeded; try restarting transaction*

Was hab ich falsch gemacht?

Danke

Gruß Thomas


Am 10.01.2016 um 14:08 schrieb Friedrich Kessler:
> Hallo,
>
> delete from data where substr(from_unixtime((`timestamp` / 1000)),1,10) <
> ‚'2016-01-01';
>
> Vorher würde ich aber autocommit der DB abschalten (mysql> SET
> AUTOCOMMIT=0;) - falls es schief geht kannst du zurückrollen - danach
> wieder einschalten.
>
> Gruss
> Friedrich
>
> Am 10.01.16 13:46 schrieb "Heine.thomas at online.de" unter
> <Heine.thomas at online.de>:
>
>> Hallo,
>>
>> Hab mal ne Frage bezüglich der Datenbereinigung.
>> Würde gerne die Daten von letztem Jahr komplett aus meinem System löschen.
>>
>> Wie kann ich den SQL-Befehl
>>
>> delete FROM `data` where timestamp<
>> (unix_timestamp(current_timestamp)-24*60*60)*1000 ;
>>
>> so umbauen, dass er alle Daten vor dem 1.1.2016 löscht (z.B. vor
>> Unix-time 1451602799) ?
>>
>> Oder gibts ne einfachere Möglichkeit?
>>
>> Danke vorab für eure Hilfe.
>>
>> Gruß
>>
>> Thomas
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20160110/1f03bbba/attachment-0001.html>


More information about the volkszaehler-users mailing list