插入標題到一個表,如果它是一個重複的,我需要一些IT,如 標題 標題2 標題3等 我想我可以通過獲得的長度,然後做類似MySQL的使用LEFT或SUBSTRING在WHERE子句遞增重複值
"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是不會包含任何沒有配偶的東西?
無論如何它不是一個解決方案。
聽起來像業務邏輯,不應該在數據庫層 – Jens
另一種選擇是刪除標題的唯一選項。如果標題可以重複,那麼允許並找到其他區分方式。 –
我不得不重組太多的事情來做到這一點。這是一種表單,具有歷史記錄功能,可以拖動之前的條目,用作模板,或者部分填寫並在稍後返回。很多是基於用戶給記錄的標題。該表單有驗證。那裏沒問題。另一方面,API需要處理它。 – RationalRabbit