错误提示如下:
MySql.Data.MySqlClient.MySqlException: Incorrect sub part key; the used key part isn't a string, the used length is longer than the key part, or the storage engine doesn't support unique sub keys
MySql.Data.MySqlClient.MySqlException: Incorrect sub part key; the used key part isn't a string, the used length is longer than the key part, or the storage engine doesn't support unique sub keys
解决方案 »
- 导出数据库 提示 outfile disabled 什么情况啊
- 不显示删除回复显示所有回复显示星级回复显示得分回复 java往MySQL数据库插入中文数据有问题,请各位大虾帮忙
- C++中ADO调用MySQL存储过程失败,诡异的语法错误,求解中,附源码
- 如何用一条sql语句找出所有父子节点
- mysql数据库数问题,为什么数据库连接数会大于我设置的值
- 求个sql
- 请问:我在postgres里面建了一个表后,我能不能将建表的语句拷出来啊,这样以后建表时就可以用这个语句就可以了
- mysql 中能不能把int 转换为string
- limit失效是怎么回事?
- mysql中动态存储过程问题
- mysql数据库用replace 无法替换<SCRIPT src=""></SCRIPT>
- 项目发布后出现连接不到数据库
好像是支持非int类型的主外建关系的。我的问题很是怪异,调用存储过程时出的错,怪异的是第一次,第二次,第三次没问题,第四次执行就包上述错误。DELIMITER $$DROP PROCEDURE IF EXISTS `sp_SelectMessagesToSend` $$
CREATE DEFINER=`root`@`%` PROCEDURE `sp_SelectMessagesToSend`()
BEGIN
SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
-- START TRANSACTION;
DROP TEMPORARY TABLE IF EXISTS ttAnswers;
CREATE TEMPORARY TABLE ttAnswers (
Question VARCHAR(500) NOT NULL,
Answer VARCHAR(1600) NOT NULL,
SenderContactMeans VARCHAR(5) NOT NULL,
SenderContactCode VARCHAR(700) NOT NULL,
QueueNumber INT,
UNIQUE KEY (Question(20), SenderContactCode(30))
) ENGINE=MEMORY;
INSERT IGNORE INTO ttAnswers(Question, Answer, SenderContactMeans, SenderContactCode, QueueNumber)
SELECT qm.Question, qm.Answer, q.SenderContactMeans, q.SenderContactCode, q.QueueNumber
FROM tSendQueue q
INNER JOIN tQuestionMemory qm
ON qm.QuestionMemoryID = q.QuestionMemoryID
WHERE q.Sent IS NULL AND qm.Answer <> ''
ORDER BY QueueNumber; UPDATE ttAnswers
SET Answer = CONCAT(Answer,' \r\n',uf_SelectAd(QueueNumber));
INSERT IGNORE INTO ttAnswers(Question, Answer, SenderContactMeans, SenderContactCode, QueueNumber)
SELECT qm.Question, uf_GetMessage(qm.LanguageCode, 'VBUSY') Answer, q.SenderContactMeans, q.SenderContactCode, q.QueueNumber
FROM tSendQueue q
INNER JOIN tQuestionMemory qm
ON qm.QuestionMemoryID = q.QuestionMemoryID
WHERE q.Sent IS NULL AND qm.FirstLocked IS NULL AND qm.FirstUnlocked IS NOT NULL
ORDER BY QueueNumber; SELECT SQL_BUFFER_RESULT Question, Answer, SenderContactMeans, SenderContactCode, QueueNumber
FROM ttAnswers; -- COMMIT;
END $$DELIMITER ;