将标题插入表中,如果它是重复的,我需要对其进行编号,例如 标题 标题2 标题3等 我想我可以通过获取长度来比较新标题和表格中的标题,然后执行类似
的操作"SELECT field FROM tablename WHERE LEFT(field,".$Length.") = '$NewTitle'"
然后只计算行数并增加以创建新标题并存储它。猜猜那不合法。 似乎找不到简单的解决方案。这些条目来自API,因此如果标题发生冲突,我无法轻易要求用户重命名。
我试过
$NameLength = strlen($DocName);
SELECT DocName, count(DocName) FROM Pickup GROUP BY DocName HAVING LEFT(DocName,'$NameLength') = '$DocName'";
所以,如果我有三个标题,“标题”; “标题2”; “标题3”,我以为我可以做到
$D = mysql_fetch_array($Result);
$RCount = ($D[count(DocName)]) + 1;
$NewTitle = $DocName.' '.$RCount;
适用于第一次冲突,创建“标题2”,但随后将继续在后续条目中创建“标题2”。
我还没有完全理解这一点。我知道这与小组的清晰度有关,但是如果我有一个“标题”和两个标题2和两个标题3,并且我发送另一个'标题,它将增加到“标题4”,随后的“标题“也将重命名为”标题4“。是否Group By不包含任何没有配偶的东西?
无论如何,它不是解决方案。
答案 0 :(得分:0)
SELECT MAX(CONVERT((TRIM(SUBSTRING(`field`, LOCATE(' ', `name`) ))),UNSIGNED)) as count FROM `tablename` WHERE `field` LIKE 'Title%'
答案 1 :(得分:0)
假设 title 是您在表格中搜索的标题。
您可以使用查询"SELECT count fieldname FROM tablename fieldname = 'title'
获取标题为 title 的记录数。
如果count为0,则按常规方式插入,否则将计数增加1并将其附加到标题然后插入。