DB help needed to solve issue with pimitemtable
Erik Quaeghebeur
kdepim-users at equaeghe.nospammail.net
Tue Dec 11 21:42:40 GMT 2018
On dinsdag 11 december 2018 21:34:26 CET, Pablo Sanchez wrote:
>>> `atime` timestamp NOT NULL DEFAULT current_timestamp(),
>>
>> `atime` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
>>
>> I guess we see here what the problem is. How should I change
>> this. How did this come to be?
>
> Yes, that's the problem. I appears that the default is being
> used as a NULL value. ;)
>
> You could try the following:
>
> SELECT COUNT(*) FROM pimitemtable
> WHERE atime = '0000-00-00 00:00:00';
+----------+
| COUNT(*) |
+----------+
| 0 |
+----------+
1 row in set, 2 warnings (0,02 sec)
> Assuming there are zero rows, change the default to current_timestamp():
>
> ALTER TABLE pimitemtable ALTER atime
> SET DEFAULT current_timestamp();
mysql> ALTER TABLE pimitemtable ALTER atime SET DEFAULT
current_timestamp();
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax to use
near 'current_timestamp()' at line 1
So based on the table schema, I tried
mysql> ALTER TABLE pimitemtable ALTER atime SET DEFAULT CURRENT_TIMESTAMP;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax to use
near 'CURRENT_TIMESTAMP' at line 1
So based on Server version: 5.7.24 Gentoo Linux mysql-5.7.24
https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html
I tried
mysql> ALTER TABLE pimitemtable ALTER atime SET DEFAULT NOW();
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax to use
near 'NOW()' at line 1
?
> After you do the above, try the original update. If all works
> well, have a celebratory beverage.
I'm having that anyway.
Cheers,
Erik
More information about the kdepim-users
mailing list