2

I'm using CiviCRM 5.50.4 on Drupal 7 with MariaDB. The NGO I volunteer for uses French language. When a user creates an event, we have the following error (debugging mode):

UserInfo    INSERT INTO `civicrm_price_set_fr_FR` (`name` , `title` , `is_active` , `extends` , `financial_type_id` , `is_quick_config` , `is_reserved` , `min_amount` ) VALUES ('apprice_set_508' , 'AP [Copie id 508]' , 1 , '1' , 4 , 1 , 0 , 0.00 ) [nativecode=1423 ** Field of view 'drupal.civicrm_price_set_fr_FR' underlying table doesn't have a default value]

Thanks to PhpMyadmin, I discovered the civicrm_price_set_fr_FR is a view based on the table civicrm_price_set and two of the view fields don't have a default value.

Question 1 - I identified two resolution possibilities:

  1. I could set MariaDb to ignore that with the STRICT_TRANS_TABLES parameter - but it means not catching abnormal queries anymore
  2. I could work to set a default value - but I still haven't figure out how to do so

Any advice?

Question 2 - Despite this error message, the actual issue is that I can't register Contacts on new Events since I can't save mandatory pricing information: I don't know if the above issue is the root cause of that or equally a consequence of another issue ...

Question 3 - Should I, someday, report this as a bug or an evolution request to avoid this issue to happen to other users?

Thanks for your help, have a nice day!

1
  • Thanks Demerit for your answer. Indeed, I disabled the STRICT_TRANS_TABLES option and the issue disapeared. Let's hope disabling this safety won't let actual problems happend ...
    – Romain Dub
    Commented Jul 11, 2022 at 18:15

2 Answers 2

2

It's a known problem that mariadb isn't very usable with multilingual with STRICT_TRANS_TABLES. There's a thought about how it could be solved at https://github.com/civicrm/civicrm-core/pull/22647#issuecomment-1026131715

2
  • I did not understand: if I am using MariaDB (my current version is 10.6.9), do I have to disable STRICT_TRANS_TABLES. I have upgraded to CiviCRM latest version (5.52.2) and civicrm_price_set trigggers are IF NEW.title_de_DE IS NOT NULL THEN SET NEW.title_it_IT = NEW.title_de_DE; ELSEIF ... shouldn't they be updated with your change?
    – masetto
    Commented Aug 21, 2022 at 16:41
  • Yes for now you have to disable STRICT_TRANS_TABLES. The trigger isn't really the problem it's that the schema has no default, which causes a problem here.
    – Demerit
    Commented Aug 21, 2022 at 18:14
0

Is this related to DB Error : Uknown error (When a new profile is created in multilingual CiviCRM setup) ?

A solution could be to set the _fr_FR columns to NULL (if they are NOT NULL now)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.