插入不工作,如果没有在phpmyadmin / linux mysql客户端
INSERT not working if not done in phpmyadmin / linux mysql client
我有一个名为functions的表:
CREATE TABLE IF NOT EXISTS `functions` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`couple_id` int(10) unsigned DEFAULT NULL,
`name_1` varchar(45) DEFAULT NULL,
`name_2` varchar(45) DEFAULT NULL,
`src_1` text,
`src_2` text,
`percent_1` tinyint(3) unsigned DEFAULT NULL,
`percent_2` tinyint(3) unsigned DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `fk_functions_couples1` (`couple_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=73193 ;
我正在执行一个Transaction查询,如下所示:
START TRANSACTION;
INSERT INTO `functions` (`couple_id`, `name_1`, `name_2`, `percent_1`, `percent_2`, `src_1`, `src_2`) VALUES ("8510", "borwein_integer", "calc", "83", "100", "static double borwein_integer(double n, double x)
{
double k;
double result;
k = 0;
result = 1;
while (k <= n)
{
if (x)
result = result * (sin(x / ((2 * k) + 1)) / (x / ((2 * k) + 1)));
k = k + 1;
}
return (result);
}
", "double calc(double i, double n)
{
double k = 0;
double res = 1;
while (k <= n && i != 0)
{
res = res * sin(i / (2 * k + 1)) / (i / (2 * k + 1));
k++;
}
return (res);
}
");
...
COMMIT;
(当然,我在这个交易中做了很多事情,但我只是写了这些...
来简化问题)。
当我使用phpmyadmin或mysql (linux下)运行查询时,查询工作。
但是如果我把它和mysql_real_query一起使用,它会抛出这样的错误:
你的SQL语法有错误;查看手册对应于MySQL服务器版本,以便使用正确的语法INSERT INTO function (' couple_id ', ' name_1 ', ' name_2 ')' percent_1 ', ' percent_'在第2行
如何调用mysql_real_query
:
this->log(query.toString());
if (mysql_real_query(this->_bdd, query.toString().c_str(), query.toString().size()) != 0)
(log
函数显示的查询与我上面写的完全一样)。
我一直在使用SQL小提琴找出我的问题,但我没有改变任何东西…错误仍然是一样的
有谁知道我做错了什么吗?
问题可能来自多语句执行(如文档中所述,必须启用)。您是否尝试过仅使用mysql_real_query执行INSERT语句?这将使您了解问题是来自INSERT语句还是来自多条语句的执行。
相关文章:
- 在C++/Linux中设置单调时钟的一些技巧
- Linux的Cpp上的计时器
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 在Linux中哪里可以找到互斥、未来等的源代码
- 如何在linux终端中同时编译和运行c++代码
- 在Linux for Windows上编译C++代码时出错
- C++MySQL C api用户输入行
- 如何找到锁定Linux futex的C++行
- 在linux上调试巨大的C++项目
- 使用cmake从源代码构建MySQL连接器/C++失败(与以前的声明冲突)
- 如何处理linux终端中带有负号(-)的C++中的命令行参数
- c++方法参数只能在linux的发布模式下自行更改
- mysql C++ connector [mysql-connector-c++-8.0.19-linux-glibc2
- Arch Linux.AUR 包 mysql 不能用 makepkg 构建.错误:构建 () 中出现故障
- 如何在Linux上使用Qt5访问远程MySQL服务器
- 在Linux环境下用MYSQL.h编译C++程序
- MySQL connector c++ linux
- Arch-Linux/arm上的c++ mysql连接器
- 插入不工作,如果没有在phpmyadmin / linux mysql客户端
- Linux下c++与mysql的连接