Как изменить параметры сортировки для представления таблицы в MySQL - PullRequest
0 голосов
/ 19 сентября 2019
  • Когда я запускаю этот запрос:
select  b.email, 
          concat('[AAA]: Xin chao QK ', a.client_name, ' HD ',a.account_no, ' vua khoi tao')  as subject, 
          replace( (select email_content from xxff_message where refid=1 and status='O'),'#LOAN_ID#', a.account_no) as message,  -- cp init 
          a.loan_id
from  interface.vw_loan_full a  
left join interface.xxff_client b 
on a.client_id=b.client_id 
where 1=1 
and a.status=100 
and (a.loan_id, email) not in ( select loan_id, receiver from xxff_loan_message_sent where stage='INIT100_MSG_EMAIL') 
and date(a.value_date) between DATE_ADD(CURDATE(), INTERVAL -30 day) and  date(now());
  • И я получаю эту ошибку:

Err] 1270 - Недопустимое сочетание параметров сортировки (utf8_unicode_ci, IMPLICIT), (utf8_unicode_ci, COERCIBLE), (utf8_general_ci, IMPLICIT) для операции «заменить»

  • Когда я исследую,эта причина отличается между utf8_unicode_ci и utf8_general_ci.Но я проверил всю таблицу, база данных использует utf8_unicode_ci.

  • Но представление таблицы vw_loan_full - это utf8_general_ci.Помогите мне изменить параметры сортировки таблицы представления.

  • Поскольку я запускаю команду:

ALTER TABLE vw_loan_full CONVERT TO CHARACTER SET utf8 COLLATEutf8_unicode_ci;

  • И получите ошибку:

[Err] 1347 - 'interface.vw_loan_full' не BASE TABLE

Мой результат из ПОКАЗАТЬ CREATE TABLE xxff_client :

CREATE TABLE xxff_client (client_id bigint (20) NOT NULL,
client_name varchar (150) COLLATE utf8_unicode_ci NEFA ПО УМОЛЧАНИЮ,
national_id varchar (15) COLLATE utf8_unicode_ci NULL ПО УМОЛЧАНИЮ,
issue_date date DEFAULT NULL, issue_place varchar (120) COLLATE utf8_unic_de_NEFE15) COLLATE utf8_unicode_ci DEFAULT NULL, dob даты по умолчанию значение NULL, phone VARCHAR (20) COLLATE utf8_unicode_ci УМОЛЧАНИЮ NULL, то email VARCHAR (150) COLLATE utf8_unicode_ci УМОЛЧАНИЮ NULL, то address VARCHAR (250) COLLATE utf8_unicode_ci DEFAULT NULL, status varchar (1) COLLATE utf8_unicode_ci DEFAULT NULL, creation_date дата DEFAULT NULL, USER_ID varchar (20) COLLATE utf8_unicode_ci DEFAULT NULL, company_name varchar (150) COLLATE utf8_unicode_ci DEFAULT NULL, company_address varchar (255) COLLATE ut_ci_EFF50) COLLATE utf8_unicode_ci DEFAULT NULL, dept_name varchar (100) COLLATE utf8_unicode_ci DEFAULT NULL, join_date date DEFAULT NULL, salary_date int (11) DEFAULT NULL,
remain_of_laborcontract int (11) DEFA1073 * varchar (150) COLLATE utf8_unicode_ci DEFAULT NULL, eco_userid bigint (20) DEFAULT NULL, otp_count tinyint (20) DEFAULT '0',
ПЕРВИЧНЫЙ КЛЮЧ (client_id)) ENGINE = InnoDB DEFAULT CHARSET =utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = ДИНАМИЧНЫЙ

Мой результат из ПОКАЗАТЬ СОЗДАТЬ ТАБЛИЦУ xxff_loan_message_sent :

СОЗДАТЬ ТАБЛИЦУ xxff_loan_message_sent (108720) NOT NULL AUTO_INCREMENT, loan_id int (11) NOT NULL, stage varchar (20) COLLATE utf8_unicode_ci DEFAULT NULL, sent_status varchar (6) COLLATE utf8_unicode_ci DEFAULT NULL, created_by varchar_full_15) (15)NULL, created_date date DEFAULT NULL, receiver varchar (150) COLLATE utf8_unicode_ci DEFAULT NULL, первичный ключ (refid)) ENGINE = InnoDB AUTO_INCREMENT = 280 CHARSET DEFAULT = COLLATE * utf8 * 10_95_NOBE_ND = 10_95_NUMD*

Мой результат из ПОКАЗАТЬ CREATE TABLE vw_loan_full :

CREATE ALGORITHM = НЕОПРЕДЕЛЕННЫЙ ОПРЕДЕЛИТЕЛЬ = root @ % ПРОСМОТР ОПРЕДЕЛЕНИЯ БЕЗОПАСНОСТИ SQL vw_loan_full КАК ВЫБРАТЬ a. id AS loan_id, a. client_id AS client_id, b. display_name AS client_name, b. account_no AS cif_no, a. product_id AS product_id, c. short_name AS product_name, a. currency_code AS ccy_code, a. annual_nominal_interest_rate AS rate, a. term_frequency AS term, a. approved_principal AS approved_principal, a. principal_amount AS disbursed_amount, a. principal_outstanding_derived AS pos, a. loan_status_idAS status, a. submittedon_date AS created_date, a. submittedon_userid AS created_by, a. expected_disbursedon_date AS value_date, a. maturedon_date AS maturity_date, a. approvedon_date AS approvedon_date, a. disbursedon_date AS disbursedon_date, a. expected_maturedon_date AS expected_maturedon_date, a. loanpurpose_cv_id AS loan_purpose, a. account_no AS account_no от ((mifostenant-default. m_loan a левое соединение mifostenant-default. m_client b вкл ((a. client_id = b. id))) левое соединение mifostenant-default. m_product_loan c включено ((a. product_id = c. id)))

Мой результат из ПОКАЗАТЬ CREATE TABLE vw_loan_full :

CREATE TABLE xxff_message (refid bigint (20) NOT NULLAUTO_INCREMENT, msg_type varchar (8) COLLATE utf8_unicode_ci DEFAULT NULL, sms_content varchar (500) COLLATE utf8_unicode_ci DEFAULT NULL, email_content varchar (2000) COLLATE utf8_unicode_ci DEFAULT 250 UNEFLLstatus VARCHAR (4) COLLATE utf8_unicode_ci DEFAULT NULL, created_by VARCHAR (15) COLLATE utf8_unicode_ci УМОЛЧАНИЮ NULL, то created_date DateTime УМОЛЧАНИЮ NULL, то updated_by VARCHAR (15) COLLATE utf8_unicode_ci DEFAULT NULL, updated_date DateTime УМОЛЧАНИЮ NULL, тоstage_code varchar (35) COLLATE utf8_unicode_ci DEFAULT NULL, email_receiver varchar (120) COLLATE utf8_unicode_ci DEFAULT NULL, первичный ключ (refid)) ENGINE = InnoDB AUTO_INCREMENT = 16 DEFAULT_FARCUT_FOCATE*

Как я могу изменить параметры сортировки для таблицы просмотра в MySQL?Спасибо за вашу помощь !!!

MySQL 5.5 в Windows

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...