有人可以帮我解决这个问题:
插入“表1”,使用表0
中的选择获得的行
table1的结构:
id_i(int Primary AI)| id_e(int)|日期(日期时间)| num(文字)|总和(小数14,2)| stat(tinyint)
红利问题:如果超过1000行,是否有任何关于优化sql请求的想法?
我的代码:
$query = " INSERT INTO table1 (id_e, date, string, sum, stat)
SELECT id_s, NOW(), GROUP_CONCAT(id_r), SUM(bud), 0
FROM table0 as e
WHERE e.stat=4 AND e.datetime<='$date' GROUP BY e.id_s
";
try
{
$bdd = new PDO('xxxx');
}
catch(Exception $e)
{
die('Erreur: '.$e->getMessage());
}
$request= $bdd->prepare($query);
if ($bdd->execute()) {
echo 'ok';
}
else {
echo 'no';
}
如你所知我得到'不'!但是,如果我只做 SELECT 它正在工作!
答案 0 :(得分:0)
您能否发布您遇到的错误?
在5.7中,sqlmode默认设置为
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION.
删除子句ONLY_FULL_GROUP_BY。您可以像这样删除:
SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
请尝试一下,看看它是否适合你。
答案 1 :(得分:0)
如果您没有收到错误,请打开错误报告进行调试
$bdd = new PDO('xxxx');
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION;
这样您就可以看到出现了哪些错误,但最终用户看到这些错误并不好。
答案 2 :(得分:-1)
将缺少的列添加到group-by:
ng build --prod