2015-11-02 76 views
0

由於某種原因,如果我在我的數據庫中提交「Nováobjednávkapronávštěvníka」它會導致此錯誤消息。我注意到在數據庫,如果它進入數據庫一些字符被替換?發生MYSQL給出了更奇怪的錯誤信息


錯誤,同時節省此配置:SQLSTATE [HY000]:常規錯誤:1267的歸類(latin1_swedish_ci,IMPLICIT)和(utf8_general_ci,COERCIBLE)操作 '=' 的非法組合,查詢是: SELECT Job_Id,tablename_colummname,email_template,days FROM Envato_CustomConfig_Job WHERE tablename_colummname =:tablename_c AND email_template =:email AND days =:days AND timeStamp =:timeStamp AND Job_Id!=:id LIMIT 1;

heres我用來創建表的sql。

DROP TABLE IF EXISTS {$this->getTable('Envato_CustomConfig_Job')}; 
CREATE TABLE {$this->getTable('Envato_CustomConfig_Job')} (
    `Job_Id` int(11) NOT NULL AUTO_INCREMENT, 
    `tablename_colummname` varchar(100) NOT NULL, 
    `email_template` varchar(100) NOT NULL, 
    `days` INT(2) NOT NULL, 
    `timeStamp` varchar(100) NOT NULL DEFAULT '0000-00-00 00:00:00', 
    PRIMARY KEY (`Job_Id`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; 
+0

好像你使用的字符集是不一樣的一箇中你的數據庫配置。你應該檢查這個。 – Unex

回答

0

添加BINARY到您的WHERE子句的像這樣的例子:

WHERE BINARY tablename_colummname = BINARY :tablename_c 

我希望這有助於:-)