0
我遇到了MySQL v.5.0.091-log的问题。这个数据库由我的客户提供商提供(1 & 1),所以我无法控制版本,也没有通过他们提供给我们使用的phpMyAdmin(版本2.6.4-pl3)。MySQL过程使用CONCAT时创建失败
我的公司大多数时间都在使用存储过程和函数来提高效率和安全性。我写了一个可以在我们的本地开发数据库上正常工作的sproc,但是当我尝试将它添加到主机上的测试或生产MySQL服务器时,create语句失败。由于它们提供的phpMyAdmin版本不适用于存储过程,因此我们有我们自己的界面,可以维护它们。它已经过测试,不是问题的原因。
下面是该过程:
CREATE DEFINER=`root`@`localhost` PROCEDURE `objectGetOpenObjectsInfo`()
BEGIN
SELECT bldgobjects.objectId, CONCAT(objectrentinfo.shortDesc,'<br/>',bldginfo.address, ', ',bldginfo.city) AS objTitle,
CONCAT(imagelist.fileDirectory, imagelist.fileName) AS objImg
FROM objectrentinfo INNER JOIN
bldgobjects ON objectrentinfo.objectId = bldgobjects.objectId INNER JOIN
bldginfo ON bldgobjects.bldgId = bldginfo.bldgId INNER JOIN
bldgimages ON bldgobjects.bldgId = bldgimages.bldgId INNER JOIN
imagelist ON bldgimages.imageId = imagelist.imageId
WHERE (objectrentinfo.isOpen = 1) AND (imagelist.imgType = 1)
ORDER BY bldginfo.address;
END
的问题特别是CONCAT语句。只要它们在过程中,create语句就不会执行。只要将其更改为:
SELECT bldgobjects.objectId, objectrentinfo.shortDesc, bldginfo.address, bldginfo.city,
imagelist.fileDirectory, imagelist.fileName
create语句执行并且我有我的存档。我一遍又一遍地看了一遍,很可能是它忽略了一些微小的语法错误,但我不知所措。有什么建议么?提前致谢,并感谢任何人都可以提供的帮助。
感谢您的快速回复。我厌倦了上述情况,但不幸的是仍然是同样的问题我得到的唯一的错误信息是世界上一个通用的地方,它说检查文档。在我自己的机器上,这与接口一起工作,所以我认为它可能与MySQL版本有关? – anjiTechGuy