CiviCRM Community Forums (archive)

*

News:

Have a question about CiviCRM?
Get it answered quickly at the new
CiviCRM Stack Exchange Q+A site

This forum was archived on 25 November 2017. Learn more.
How to get involved.
What to do if you think you've found a bug.



  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Support »
  • Using CiviCRM »
  • Using Core CiviCRM Functions (Moderator: Yashodha Chaku) »
  • Getting DB Constraint Error when editing some contacts
Pages: [1]

Author Topic: Getting DB Constraint Error when editing some contacts  (Read 707 times)

tso2085

  • I post occasionally
  • **
  • Posts: 75
  • Karma: 0
  • CiviCRM version: 4.7.15
  • CMS version: Joomla 3.6.5
  • MySQL version: 5.5.37
  • PHP version: 5.5.30
Getting DB Constraint Error when editing some contacts
October 16, 2012, 04:30:51 am
When trying to edit a contact, I get a DB Constraint Error.  This does not happen on all contacts, just a few (so far).  I get this error whether I change a field and save, or if I do not change anything and click save.   Debug / Backtrace below.  Thanks for any help!

backTrace

/var/www/vhosts/vps-1101739-10368.manage.myhosting.com/httpdocs/hentest/administrator/components/com_civicrm/civicrm/CRM/Core/Error.php, backtrace, 146
, handle,
/var/www/vhosts/vps-1101739-10368.manage.myhosting.com/httpdocs/hentest/administrator/components/com_civicrm/civicrm/packages/PEAR.php, call_user_func, 931
/var/www/vhosts/vps-1101739-10368.manage.myhosting.com/httpdocs/hentest/administrator/components/com_civicrm/civicrm/packages/DB.php, PEAR_Error, 968
/var/www/vhosts/vps-1101739-10368.manage.myhosting.com/httpdocs/hentest/administrator/components/com_civicrm/civicrm/packages/PEAR.php, DB_Error, 564
/var/www/vhosts/vps-1101739-10368.manage.myhosting.com/httpdocs/hentest/administrator/components/com_civicrm/civicrm/packages/DB/common.php, raiseError, 1903
/var/www/vhosts/vps-1101739-10368.manage.myhosting.com/httpdocs/hentest/administrator/components/com_civicrm/civicrm/packages/DB/mysql.php, raiseError, 898
/var/www/vhosts/vps-1101739-10368.manage.myhosting.com/httpdocs/hentest/administrator/components/com_civicrm/civicrm/packages/DB/mysql.php, mysqlRaiseError, 327
/var/www/vhosts/vps-1101739-10368.manage.myhosting.com/httpdocs/hentest/administrator/components/com_civicrm/civicrm/packages/DB/common.php, simpleQuery, 1216
/var/www/vhosts/vps-1101739-10368.manage.myhosting.com/httpdocs/hentest/administrator/components/com_civicrm/civicrm/packages/DB/DataObject.php, query, 2428
/var/www/vhosts/vps-1101739-10368.manage.myhosting.com/httpdocs/hentest/administrator/components/com_civicrm/civicrm/packages/DB/DataObject.php, _query, 1056
/var/www/vhosts/vps-1101739-10368.manage.myhosting.com/httpdocs/hentest/administrator/components/com_civicrm/civicrm/CRM/Core/DAO.php, insert, 284
/var/www/vhosts/vps-1101739-10368.manage.myhosting.com/httpdocs/hentest/administrator/components/com_civicrm/civicrm/CRM/Member/BAO/Membership.php, save, 92
/var/www/vhosts/vps-1101739-10368.manage.myhosting.com/httpdocs/hentest/administrator/components/com_civicrm/civicrm/CRM/Member/BAO/Membership.php, add, 264
/var/www/vhosts/vps-1101739-10368.manage.myhosting.com/httpdocs/hentest/administrator/components/com_civicrm/civicrm/CRM/Contact/BAO/Relationship.php, create, 1249
/var/www/vhosts/vps-1101739-10368.manage.myhosting.com/httpdocs/hentest/administrator/components/com_civicrm/civicrm/CRM/Contact/BAO/Contact/Utils.php, relatedMemberships, 377
/var/www/vhosts/vps-1101739-10368.manage.myhosting.com/httpdocs/hentest/administrator/components/com_civicrm/civicrm/CRM/Contact/BAO/Contact/Utils.php, currentEmployerRelatedMembership, 339
/var/www/vhosts/vps-1101739-10368.manage.myhosting.com/httpdocs/hentest/administrator/components/com_civicrm/civicrm/CRM/Contact/BAO/Contact.php, createCurrentEmployerRelationship, 235
/var/www/vhosts/vps-1101739-10368.manage.myhosting.com/httpdocs/hentest/administrator/components/com_civicrm/civicrm/CRM/Contact/BAO/Contact.php, add, 314
/var/www/vhosts/vps-1101739-10368.manage.myhosting.com/httpdocs/hentest/administrator/components/com_civicrm/civicrm/CRM/Contact/Form/Contact.php, create, 1001
/var/www/vhosts/vps-1101739-10368.manage.myhosting.com/httpdocs/hentest/administrator/components/com_civicrm/civicrm/CRM/Core/Form.php, postProcess, 250
/var/www/vhosts/vps-1101739-10368.manage.myhosting.com/httpdocs/hentest/administrator/components/com_civicrm/civicrm/CRM/Core/QuickForm/Action/Upload.php, mainProcess, 154
/var/www/vhosts/vps-1101739-10368.manage.myhosting.com/httpdocs/hentest/administrator/components/com_civicrm/civicrm/CRM/Core/QuickForm/Action/Upload.php, realPerform, 131
/var/www/vhosts/vps-1101739-10368.manage.myhosting.com/httpdocs/hentest/administrator/components/com_civicrm/civicrm/packages/HTML/QuickForm/Controller.php, perform, 203
/var/www/vhosts/vps-1101739-10368.manage.myhosting.com/httpdocs/hentest/administrator/components/com_civicrm/civicrm/packages/HTML/QuickForm/Page.php, handle, 103
/var/www/vhosts/vps-1101739-10368.manage.myhosting.com/httpdocs/hentest/administrator/components/com_civicrm/civicrm/CRM/Core/Controller.php, handle, 292
/var/www/vhosts/vps-1101739-10368.manage.myhosting.com/httpdocs/hentest/administrator/components/com_civicrm/civicrm/CRM/Utils/Wrapper.php, run, 117
/var/www/vhosts/vps-1101739-10368.manage.myhosting.com/httpdocs/hentest/administrator/components/com_civicrm/civicrm/CRM/Core/Invoke.php, run, 210
/var/www/vhosts/vps-1101739-10368.manage.myhosting.com/httpdocs/hentest/administrator/components/com_civicrm/admin.civicrm.php, invoke, 85
/var/www/vhosts/vps-1101739-10368.manage.myhosting.com/httpdocs/hentest/administrator/components/com_civicrm/admin.civicrm.php, civicrm_invoke, 45
/var/www/vhosts/vps-1101739-10368.manage.myhosting.com/httpdocs/hentest/libraries/joomla/application/component/helper.php, require_once, 383
/var/www/vhosts/vps-1101739-10368.manage.myhosting.com/httpdocs/hentest/libraries/joomla/application/component/helper.php, executeComponent, 351
/var/www/vhosts/vps-1101739-10368.manage.myhosting.com/httpdocs/hentest/administrator/includes/application.php, renderComponent, 153
/var/www/vhosts/vps-1101739-10368.manage.myhosting.com/httpdocs/hentest/administrator/index.php, dispatch, 46


ERROR DETAILS >

Database Error Code: Cannot add or update a child row: a foreign key constraint fails (`sys_hentest/civicrm_membership`, CONSTRAINT `FK_civicrm_membership_owner_membership_id` FOREIGN KEY (`owner_membership_id`) REFERENCES `civicrm_membership` (`id`) ON DELETE SET NULL), 1452
Additional Details:
Array
(
    [callback] => Array
        (
           
  • => CRM_Core_Error
  • [1] => handle
            )

       
Code: [Select]
=> -3
    [message] => DB Error: constraint violation
    [mode] => 16
    [debug_info] => INSERT INTO civicrm_membership (contact_id , membership_type_id , join_date , start_date , end_date , status_id , is_override , reminder_date , owner_membership_id , is_test , is_pay_later ) VALUES ( 46 ,  1 ,  20000926000000 ,  20110701000000 ,  20120630 ,  4 ,  NULL ,  NULL ,  1004 ,  0 ,  0 )  [nativecode=1452 ** Cannot add or update a child row: a foreign key constraint fails (`sys_hentest/civicrm_membership`, CONSTRAINT `FK_civicrm_membership_owner_membership_id` FOREIGN KEY (`owner_membership_id`) REFERENCES `civicrm_membership` (`id`) ON DELETE SET NULL)]
    [type] => DB_Error
    [user_info] => INSERT INTO civicrm_membership (contact_id , membership_type_id , join_date , start_date , end_date , status_id , is_override , reminder_date , owner_membership_id , is_test , is_pay_later ) VALUES ( 46 ,  1 ,  20000926000000 ,  20110701000000 ,  20120630 ,  4 ,  NULL ,  NULL ,  1004 ,  0 ,  0 )  [nativecode=1452 ** Cannot add or update a child row: a foreign key constraint fails (`sys_hentest/civicrm_membership`, CONSTRAINT `FK_civicrm_membership_owner_membership_id` FOREIGN KEY (`owner_membership_id`) REFERENCES `civicrm_membership` (`id`) ON DELETE SET NULL)]
    [to_string] => [db_error: message="DB Error: constraint violation" code=-3 mode=callback callback=CRM_Core_Error::handle prefix="" info="INSERT INTO civicrm_membership (contact_id , membership_type_id , join_date , start_date , end_date , status_id , is_override , reminder_date , owner_membership_id , is_test , is_pay_later ) VALUES ( 46 ,  1 ,  20000926000000 ,  20110701000000 ,  20120630 ,  4 ,  NULL ,  NULL ,  1004 ,  0 ,  0 )  [nativecode=1452 ** Cannot add or update a child row: a foreign key constraint fails (`sys_hentest/civicrm_membership`, CONSTRAINT `FK_civicrm_membership_owner_membership_id` FOREIGN KEY (`owner_membership_id`) REFERENCES `civicrm_membership` (`id`) ON DELETE SET NULL)]"]
)



Thanks, Craig

Hershel

  • Forum Godess / God
  • I’m (like) Lobo ;)
  • *****
  • Posts: 4640
  • Karma: 176
    • CiviHosting
  • CiviCRM version: Latest
  • CMS version: Mostly WordPress and Drupal
Re: Getting DB Constraint Error when editing some contacts
October 16, 2012, 04:39:42 am
The issue is that the SQL is referencing membership id 1004 and that doesn't exist. Did you remove any memberships?

Seems anyhow the issue has to do with membership records.
CiviHosting and CiviOnline -- The CiviCRM hosting experts, since 2007

See here for the official: What to do if you think you've found a bug.

The Next Wave

  • I post occasionally
  • **
  • Posts: 111
  • Karma: -9
  • I'm just here to change the world.
  • CiviCRM version: 4.4.4
  • CMS version: Wordpress 3.8.1
  • MySQL version: 5.1.72-cll
  • PHP version: 5.4.25
Re: Getting DB Constraint Error when editing some contacts
March 30, 2013, 10:39:09 am
I'm having the same trouble- and I can't tell from Hershel's response what to do.
Trying to edit a contact - getting the DB Error: constraint violation.

BackTrace

#0 /home/c0mm1sh/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Error.php(148): CRM_Core_Error::backtrace()
#1 [internal function](): CRM_Core_Error::handle(Object(DB_Error))
#2 /home/c0mm1sh/public_html/wp-content/plugins/civicrm/civicrm/packages/PEAR.php(931): call_user_func((Array:2), Object(DB_Error))
#3 /home/c0mm1sh/public_html/wp-content/plugins/civicrm/civicrm/packages/DB.php(968): PEAR_Error->PEAR_Error("DB Error: constraint violation", -3, 16, (Array:2), "INSERT INTO civicrm_value_employer_2  ( employer_83,occupation_84,entity_id )...")
#4 /home/c0mm1sh/public_html/wp-content/plugins/civicrm/civicrm/packages/PEAR.php(564): DB_Error->DB_Error(-3, 16, (Array:2), "INSERT INTO civicrm_value_employer_2  ( employer_83,occupation_84,entity_id )...")
#5 /home/c0mm1sh/public_html/wp-content/plugins/civicrm/civicrm/packages/DB/common.php(1903): PEAR->raiseError(NULL, -3, NULL, NULL, "INSERT INTO civicrm_value_employer_2  ( employer_83,occupation_84,entity_id )...", "DB_Error", TRUE)
#6 /home/c0mm1sh/public_html/wp-content/plugins/civicrm/civicrm/packages/DB/mysql.php(898): DB_common->raiseError(-3, NULL, NULL, NULL, "1452 ** Cannot add or update a child row: a foreign key constraint fails (`c0...")
#7 /home/c0mm1sh/public_html/wp-content/plugins/civicrm/civicrm/packages/DB/mysql.php(327): DB_mysql->mysqlRaiseError()
#8 /home/c0mm1sh/public_html/wp-content/plugins/civicrm/civicrm/packages/DB/common.php(1216): DB_mysql->simpleQuery("INSERT INTO civicrm_value_employer_2  ( employer_83,occupation_84,entity_id )...")
#9 /home/c0mm1sh/public_html/wp-content/plugins/civicrm/civicrm/packages/DB/DataObject.php(2421): DB_common->query("INSERT INTO civicrm_value_employer_2  ( employer_83,occupation_84,entity_id )...")
#10 /home/c0mm1sh/public_html/wp-content/plugins/civicrm/civicrm/packages/DB/DataObject.php(1613): DB_DataObject->_query("INSERT INTO civicrm_value_employer_2  ( employer_83,occupation_84,entity_id )...")
#11 /home/c0mm1sh/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/DAO.php(155): DB_DataObject->query("INSERT INTO civicrm_value_employer_2  ( employer_83,occupation_84,entity_id )...")
#12 /home/c0mm1sh/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/DAO.php(922): CRM_Core_DAO->query("INSERT INTO civicrm_value_employer_2  ( employer_83,occupation_84,entity_id )...", TRUE)
#13 /home/c0mm1sh/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/BAO/CustomValueTable.php(236): CRM_Core_DAO::executeQuery("INSERT INTO civicrm_value_employer_2  ( employer_83,occupation_84,entity_id )...", (Array:3))
#14 /home/c0mm1sh/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/BAO/CustomValueTable.php(340): CRM_Core_BAO_CustomValueTable::create((Array:6))
#15 /home/c0mm1sh/public_html/wp-content/plugins/civicrm/civicrm/CRM/Contact/BAO/Contact.php(390): CRM_Core_BAO_CustomValueTable::store((Array:79), "civicrm_contact", "1")
#16 /home/c0mm1sh/public_html/wp-content/plugins/civicrm/civicrm/CRM/Contact/Form/Contact.php(921): CRM_Contact_BAO_Contact::create((Array:148), TRUE, FALSE, TRUE)
#17 /home/c0mm1sh/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Form.php(246): CRM_Contact_Form_Contact->postProcess()
#18 /home/c0mm1sh/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/QuickForm/Action/Upload.php(151): CRM_Core_Form->mainProcess()
#19 /home/c0mm1sh/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/QuickForm/Action/Upload.php(128): CRM_Core_QuickForm_Action_Upload->realPerform(Object(CRM_Contact_Form_Contact), "upload")
#20 /home/c0mm1sh/public_html/wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Upload->perform(Object(CRM_Contact_Form_Contact), "upload")
#21 /home/c0mm1sh/public_html/wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Contact_Form_Contact), "upload")
#22 /home/c0mm1sh/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Controller.php(310): HTML_QuickForm_Page->handle("upload")
#23 /home/c0mm1sh/public_html/wp-content/plugins/civicrm/civicrm/CRM/Utils/Wrapper.php(116): CRM_Core_Controller->run()
#24 /home/c0mm1sh/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(194): CRM_Utils_Wrapper->run("CRM_Contact_Form_Contact", "New Contact", (Array:1))
#25 /home/c0mm1sh/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(51): CRM_Core_Invoke::_invoke((Array:3))
#26 /home/c0mm1sh/public_html/wp-content/plugins/civicrm/civicrm.php(271): CRM_Core_Invoke::invoke((Array:3))
#27 [internal function](): civicrm_wp_invoke("")
#28 /home/c0mm1sh/public_html/wp-includes/plugin.php(406): call_user_func_array("civicrm_wp_invoke", (Array:1))
#29 /home/c0mm1sh/public_html/wp-admin/admin.php(151): do_action("toplevel_page_CiviCRM")
#30 {main}



How do I fix this?

The Next Wave

  • I post occasionally
  • **
  • Posts: 111
  • Karma: -9
  • I'm just here to change the world.
  • CiviCRM version: 4.4.4
  • CMS version: Wordpress 3.8.1
  • MySQL version: 5.1.72-cll
  • PHP version: 5.4.25
Re: Getting DB Constraint Error when editing some contacts
March 30, 2013, 11:53:31 am
So, I had two custom fields employer and occupation that weren't required except in the field, but were in the profiles- which aren't being used right now.
By deactivating them entirely- and the profile- I no longer got the errors.

Pages: [1]
  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Support »
  • Using CiviCRM »
  • Using Core CiviCRM Functions (Moderator: Yashodha Chaku) »
  • Getting DB Constraint Error when editing some contacts

This forum was archived on 2017-11-26.