1

mysql テーブルに奇妙な問題があります。列「entity_table」を SELECT ステートメントで問題なく使用できますが、UPDATE または INSERT ステートメントで問題が発生します。

具体的には、私は得ています

"Error Code: 1054. Unknown column 'entity_table' in 'field list'"

上記のように SELECT ステートメントで使用できるため、列は確実に存在します。

次の両方のステートメントでまったく同じエラーが発生します。

INSERT INTO `civicrm_note` (`entity_table`) VALUES ('civicrm_relationship')

INSERT INTO `civicrm_note` (`entity_id`) VALUES (513576)

2 番目のステートメントのフィールド リストで entity_table を参照していないので、これは興味深いことです。

私が知る限り、データベース内の他のテーブルまたはフィールドには問題はありません。

この SELECT ステートメントは正常に機能します。

SELECT * FROM civinbla.civicrm_note WHERE entity_table = 'civicrm_contact';
4

2 に答える 2

2

答えはトリガーに関連していました。DB のトリガーはすべて、アプリケーション専用に存在する MySQL ユーザーを使用してプログラムで作成されました。何らかの理由で、AFTER INSERT および AFTER UPDATE トリガーが変更され、DEFINER がアプリケーション ユーザーではなく root になるようになっていました。

DEFINER をアプリケーション ユーザーに変更すると、すべて正常に機能しました。

于 2013-10-10T19:13:07.140 に答える