56,677
社区成员
发帖
与我相关
我的任务
分享
use yuu3; insert into yuu_version(Date, Version) values('2013-4-22', 'v1.0.1');"
上面的代码能执行正确,
如果更改默认行的结束符,如:
use yuu3; delimiter ;; insert into yuu_version(Date, Version) values('2013-4-22', 'v1.0.1');; delimiter ;"
我把delimiter;;去掉,结束的delimiter;去掉就可以正常执行了?
什么原因?奇怪,难道不能自行设置行的结束符?
//测试
if (mysql_select_db(&m_MySql, _T("yuu3")))
{
return NULL;
}
CString FileContent = _T("insert into yuu_version(Date, Version) values('2013-4-22', 'v1.0.1');");
//
//一次性执行脚本中的内容.
if (mysql_query(&m_MySql, FileContent))
{
return false;
}
执行结果有发现数据库上有刚刚插入的值.
如果代码如下:
//测试
CString FileContent = _T("use yuu3; insert into yuu_version(Date, Version) values('2013-4-22', 'v1.0.1');");
//
//一次性执行脚本中的内容.
if (mysql_query(&m_MySql, FileContent))
{
return false;
}
发现执行调用mysql_query成功,但是数据库中没有发现有值插入,看来可能只是执行use yuu3;这条语句就返回,没有执行后面的插入语句.
USE yuu3;
delimiter ;;
DROP TABLE IF EXISTS yuu_Version;;
CREATE TABLE yuu_Version
(
Date DATETIME,
Version VARCHAR(40) NOT NULL,
PRIMARY KEY(Date)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;;
DROP PROCEDURE IF EXISTS up_SelVersion;;
CREATE PROCEDURE up_SelVersion()
BEGIN
SELECT * FROM Version;
END ;;
DROP PROCEDURE IF EXISTS up_AddVersion;;
CREATE PROCEDURE up_AddVersion(IN in_Date DATETIME,IN in_Version VARCHAR(40))
BEGIN
INSERT INTO yuu_Version(Date,Version) VALUES(in_Date, in_Version);
END ;;
delimiter ;