Nextcloud cron job daily throwing some SQL errors

The Basics

  • Nextcloud Server version (e.g., 29.x.x):
    • Nextcloud Hub 9 (30.0.10)
  • Operating system and version (e.g., Ubuntu 24.04):
    • Rocky Linux 9
  • Web server and version (e.g, Apache 2.4.25):
    • Apache httpd
  • Reverse proxy and version _(e.g. nginx 1.27.2)
    • none
  • PHP version (e.g, 8.3):
    • 8.1
  • Is this the first time you’ve seen this error? (Yes / No):
    • yes
  • When did this problem seem to first start?
    • 1 week ago
  • Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.)
    • VM/Bare Metal/Archive
  • Are you using CloudfIare, mod_security, or similar? (Yes / No)
    • no

Summary of the issue you are facing:

Hello everyone,

Since past few days I am daily getting this error by mail, the cron job is configured to execute every 5 mins but I get this error only once a day, which I don’t understand why, If there’s a problem it should report every time the job is executed

Log entries

This is the error that I am getting:

Cron apache@myserver /bin/php -f /var/www/html/nextcloud/cron.php

PDOException: SQLSTATE[HY000]: General error: 1364 Field 'id' doesn't have a default value in /var/www/html/nextcloud/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php:130
Stack trace:
#0 /var/www/html/nextcloud/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php(130): PDOStatement->execute()
#1 /var/www/html/nextcloud/3rdparty/doctrine/dbal/src/Connection.php(1212): Doctrine\DBAL\Driver\PDO\Statement->execute()
#2 /var/www/html/nextcloud/3rdparty/doctrine/dbal/src/Connections/PrimaryReadReplicaConnection.php(292): Doctrine\DBAL\Connection->executeStatement()
#3 /var/www/html/nextcloud/lib/private/DB/Connection.php(462): Doctrine\DBAL\Connections\PrimaryReadReplicaConnection->executeStatement()
#4 /var/www/html/nextcloud/lib/private/DB/ConnectionAdapter.php(67): OC\DB\Connection->executeStatement()
#5 /var/www/html/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php(309): OC\DB\ConnectionAdapter->executeStatement()
#6 /var/www/html/nextcloud/lib/private/Accounts/AccountManager.php(505): OC\DB\QueryBuilder\QueryBuilder->executeStatement()
#7 /var/www/html/nextcloud/lib/private/Accounts/AccountManager.php(491): OC\Accounts\AccountManager->writeUserDataProperties()
#8 /var/www/html/nextcloud/lib/private/Accounts/AccountManager.php(478): OC\Accounts\AccountManager->writeUserData()
#9 /var/www/html/nextcloud/lib/private/Accounts/AccountManager.php(147): OC\Accounts\AccountManager->updateExistingUser()
#10 /var/www/html/nextcloud/lib/private/Accounts/AccountManager.php(815): OC\Accounts\AccountManager->updateUser()
#11 /var/www/html/nextcloud/apps/settings/lib/BackgroundJobs/VerifyUserData.php(237): OC\Accounts\AccountManager->updateAccount()
#12 /var/www/html/nextcloud/apps/settings/lib/BackgroundJobs/VerifyUserData.php(54): OCA\Settings\BackgroundJobs\VerifyUserData->resetVerificationState()
#13 /var/www/html/nextcloud/lib/public/BackgroundJob/Job.php(46): OCA\Settings\BackgroundJobs\VerifyUserData->start()
#14 /var/www/html/nextcloud/cron.php(162): OCP\BackgroundJob\Job->execute()
#15 {main}

Next Doctrine\DBAL\Driver\PDO\Exception: SQLSTATE[HY000]: General error: 1364 Field 'id' doesn't have a default value in /var/www/html/nextcloud/3rdparty/doctrine/dbal/src/Driver/PDO/Exception.php:24
Stack trace:
#0 /var/www/html/nextcloud/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php(132): Doctrine\DBAL\Driver\PDO\Exception::new()
#1 /var/www/html/nextcloud/3rdparty/doctrine/dbal/src/Connection.php(1212): Doctrine\DBAL\Driver\PDO\Statement->execute()
#2 /var/www/html/nextcloud/3rdparty/doctrine/dbal/src/Connections/PrimaryReadReplicaConnection.php(292): Doctrine\DBAL\Connection->executeStatement()
#3 /var/www/html/nextcloud/lib/private/DB/Connection.php(462): Doctrine\DBAL\Connections\PrimaryReadReplicaConnection->executeStatement()
#4 /var/www/html/nextcloud/lib/private/DB/ConnectionAdapter.php(67): OC\DB\Connection->executeStatement()
#5 /var/www/html/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php(309): OC\DB\ConnectionAdapter->executeStatement()
#6 /var/www/html/nextcloud/lib/private/Accounts/AccountManager.php(505): OC\DB\QueryBuilder\QueryBuilder->executeStatement()
#7 /var/www/html/nextcloud/lib/private/Accounts/AccountManager.php(491): OC\Accounts\AccountManager->writeUserDataProperties()
#8 /var/www/html/nextcloud/lib/private/Accounts/AccountManager.php(478): OC\Accounts\AccountManager->writeUserData()
#9 /var/www/html/nextcloud/lib/private/Accounts/AccountManager.php(147): OC\Accounts\AccountManager->updateExistingUser()
#10 /var/www/html/nextcloud/lib/private/Accounts/AccountManager.php(815): OC\Accounts\AccountManager->updateUser()
#11 /var/www/html/nextcloud/apps/settings/lib/BackgroundJobs/VerifyUserData.php(237): OC\Accounts\AccountManager->updateAccount()
#12 /var/www/html/nextcloud/apps/settings/lib/BackgroundJobs/VerifyUserData.php(54): OCA\Settings\BackgroundJobs\VerifyUserData->resetVerificationState()
#13 /var/www/html/nextcloud/lib/public/BackgroundJob/Job.php(46): OCA\Settings\BackgroundJobs\VerifyUserData->start()
#14 /var/www/html/nextcloud/cron.php(162): OCP\BackgroundJob\Job->execute()
#15 {main}

Next Doctrine\DBAL\Exception\NotNullConstraintViolationException: An exception occurred while executing a query: SQLSTATE[HY000]: General error: 1364 Field 'id' doesn't have a default value in /var/www/html/nextcloud/3rdparty/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php:115
Stack trace:
#0 /var/www/html/nextcloud/3rdparty/doctrine/dbal/src/Connection.php(1976): Doctrine\DBAL\Driver\API\MySQL\ExceptionConverter->convert()
#1 /var/www/html/nextcloud/3rdparty/doctrine/dbal/src/Connection.php(1918): Doctrine\DBAL\Connection->handleDriverException()
#2 /var/www/html/nextcloud/3rdparty/doctrine/dbal/src/Connection.php(1218): Doctrine\DBAL\Connection->convertExceptionDuringQuery()
#3 /var/www/html/nextcloud/3rdparty/doctrine/dbal/src/Connections/PrimaryReadReplicaConnection.php(292): Doctrine\DBAL\Connection->executeStatement()
#4 /var/www/html/nextcloud/lib/private/DB/Connection.php(462): Doctrine\DBAL\Connections\PrimaryReadReplicaConnection->executeStatement()
#5 /var/www/html/nextcloud/lib/private/DB/ConnectionAdapter.php(67): OC\DB\Connection->executeStatement()
#6 /var/www/html/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php(309): OC\DB\ConnectionAdapter->executeStatement()
#7 /var/www/html/nextcloud/lib/private/Accounts/AccountManager.php(505): OC\DB\QueryBuilder\QueryBuilder->executeStatement()
#8 /var/www/html/nextcloud/lib/private/Accounts/AccountManager.php(491): OC\Accounts\AccountManager->writeUserDataProperties()
#9 /var/www/html/nextcloud/lib/private/Accounts/AccountManager.php(478): OC\Accounts\AccountManager->writeUserData()
#10 /var/www/html/nextcloud/lib/private/Accounts/AccountManager.php(147): OC\Accounts\AccountManager->updateExistingUser()
#11 /var/www/html/nextcloud/lib/private/Accounts/AccountManager.php(815): OC\Accounts\AccountManager->updateUser()
#12 /var/www/html/nextcloud/apps/settings/lib/BackgroundJobs/VerifyUserData.php(237): OC\Accounts\AccountManager->updateAccount()
#13 /var/www/html/nextcloud/apps/settings/lib/BackgroundJobs/VerifyUserData.php(54): OCA\Settings\BackgroundJobs\VerifyUserData->resetVerificationState()
#14 /var/www/html/nextcloud/lib/public/BackgroundJob/Job.php(46): OCA\Settings\BackgroundJobs\VerifyUserData->start()
#15 /var/www/html/nextcloud/cron.php(162): OCP\BackgroundJob\Job->execute()
#16 {main}

Next OC\DB\Exceptions\DbalException: An exception occurred while executing a query: SQLSTATE[HY000]: General error: 1364 Field 'id' doesn't have a default value in /var/www/html/nextcloud/lib/private/DB/Exceptions/DbalException.php:56
Stack trace:
#0 /var/www/html/nextcloud/lib/private/DB/ConnectionAdapter.php(69): OC\DB\Exceptions\DbalException::wrap()
#1 /var/www/html/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php(309): OC\DB\ConnectionAdapter->executeStatement()
#2 /var/www/html/nextcloud/lib/private/Accounts/AccountManager.php(505): OC\DB\QueryBuilder\QueryBuilder->executeStatement()
#3 /var/www/html/nextcloud/lib/private/Accounts/AccountManager.php(491): OC\Accounts\AccountManager->writeUserDataProperties()
#4 /var/www/html/nextcloud/lib/private/Accounts/AccountManager.php(478): OC\Accounts\AccountManager->writeUserData()
#5 /var/www/html/nextcloud/lib/private/Accounts/AccountManager.php(147): OC\Accounts\AccountManager->updateExistingUser()
#6 /var/www/html/nextcloud/lib/private/Accounts/AccountManager.php(815): OC\Accounts\AccountManager->updateUser()
#7 /var/www/html/nextcloud/apps/settings/lib/BackgroundJobs/VerifyUserData.php(237): OC\Accounts\AccountManager->updateAccount()
#8 /var/www/html/nextcloud/apps/settings/lib/BackgroundJobs/VerifyUserData.php(54): OCA\Settings\BackgroundJobs\VerifyUserData->resetVerificationState()
#9 /var/www/html/nextcloud/lib/public/BackgroundJob/Job.php(46): OCA\Settings\BackgroundJobs\VerifyUserData->start()
#10 /var/www/html/nextcloud/cron.php(162): OCP\BackgroundJob\Job->execute()
#11 {main}

Configuration

Nextcloud

The output of occ config:list system

{
    "system": {
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "nextcloud.mydomain.com"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "version": "30.0.10.1",
        "overwrite.cli.url": "https:\/\/nextcloud.mydomain.com",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "mail_smtpmode": "smtp",
        "mail_sendmailmode": "smtp",
        "ldapIgnoreNamingRules": false,
        "ldapProviderFactory": "OCA\\User_LDAP\\LDAPProviderFactory",
        "memcache.distributed": "\\OC\\Memcache\\Redis",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "memcache.local": "\\OC\\Memcache\\APCu",
        "filelocking.debug": false,
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 6379
        },
        "filelocking.enabled": true,
        "maintenance": false,
        "theme": "",
        "app.mail.accounts.default": {
            "email": "%USERID%@mydomain.com",
            "imapHost": "mail.mydomain.com",
            "imapPort": 993,
            "imapUser": "%USERID%",
            "imapSslMode": "ssl",
            "smtpHost": "mail.mydomain.com",
            "smtpPort": 25,
            "smtpUser": "%USERID%",
            "smtpSslMode": "tls"
        },
        "maintenance_window_start": 1,
        "log_type": "syslog",
        "logfile": "",
        "log_type_audit": "file",
        "logfile_audit": "\/var\/log\/nextcloud\/nc_audit.log",
        "loglevel": 2,
        "logtimezone": "Europe\/Berlin",
        "logfilemode": 416,
        "loglevel_frontend": 2,
        "debug": false,
        "syslog_tag": "nextcloud",
        "syslog_tag_audit": "NC_AUDIT",
        "lost_password_link": "disabled",
        "default_language": "de_DE",
        "activity_expire_days": 90,
        "app_install_overwrite": [
            "external",
            "keeweb",
            "documentserver_community",
            "onlyoffice",
            "files_videoplayer",
            "deck",
            "user_saml",
            "files_rightclick",
            "circlesdb"
        ],
        "updater.release.channel": "stable",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "25",
        "default_phone_region": "DE",
        "twofactor_enforced": "false",
        "twofactor_enforced_groups": [
            "Testgruppeneu"
        ],
        "twofactor_enforced_excluded_groups": [],
        "data-fingerprint": "773f9a62039e18d84csd45c2ac0b3tg948a24nb501",
        "mysql.utf8mb4": true
    }
}

Apps

The output of occ app:list (if possible).


Enabled:
  - activity: 3.0.0
  - admin_audit: 1.20.0
  - app_api: 4.0.6
  - appointments: 2.4.5
  - bookmarks: 15.1.0
  - bruteforcesettings: 3.0.0
  - calendar: 5.3.1
  - circles: 30.0.0
  - cloud_federation_api: 1.13.0
  - comments: 1.20.1
  - contacts: 7.1.3
  - contactsinteraction: 1.11.0
  - dashboard: 7.10.0
  - dav: 1.31.1
  - deck: 1.14.5
  - drawio: 3.0.9
  - external: 5.5.2
  - federatedfilesharing: 1.20.0
  - federation: 1.20.0
  - files: 2.2.0
  - files_antivirus: 5.6.3
  - files_downloadlimit: 3.0.0
  - files_external: 1.22.0
  - files_pdfviewer: 3.0.0
  - files_reminders: 1.3.0
  - files_sharing: 1.22.0
  - files_trashbin: 1.20.1
  - files_versions: 1.23.0
  - firstrunwizard: 3.0.0
  - keeweb: 0.6.21
  - lookup_server_connector: 1.18.0
  - nextcloud_announcements: 2.0.0
  - notifications: 3.0.0
  - oauth2: 1.18.1
  - onlyoffice: 9.9.0
  - password_policy: 2.0.0
  - photos: 3.0.2
  - polls: 7.4.3
  - privacy: 2.0.0
  - provisioning_api: 1.20.0
  - recommendations: 3.0.0
  - related_resources: 1.5.0
  - serverinfo: 2.0.0
  - settings: 1.13.0
  - sharebymail: 1.20.0
  - spreed: 20.1.7
  - support: 2.0.0
  - survey_client: 2.0.0
  - systemtags: 1.20.0
  - text: 4.1.0
  - theming: 2.6.0
  - twofactor_backupcodes: 1.19.0
  - twofactor_totp: 12.0.0-dev
  - updatenotification: 1.20.0
  - user_ldap: 1.21.0
  - user_saml: 6.6.0
  - user_status: 1.10.0
  - viewer: 3.0.0
  - weather_status: 1.10.0
  - webhook_listeners: 1.1.0-dev
  - workflowengine: 2.12.0
Disabled:
  - encryption: 2.18.0
  - files_rightclick: 0.15.1 (installed 1.6.0)
  - files_videoplayer: 1.13.0
  - logreader: 3.0.0 (installed 2.13.0)
  - suspicious_login: 8.0.0
  - twofactor_nextcloud_notification: 4.0.0

I believe the table is used by some application and does not have AUTO_INCREMENT defined. However, I would like to know which application’s table it is and how to resolve this issue.

Thank you for your time and support :blush:

Likely accounts_data / oc_accounts_data.