Is there way to realize this algorithm with mysql without 100500 queries and lots of resources?
if (exists %name% in table.name) {
num = 2;
while(exists %newname%+(num) in table.name) num++;
%name% = newname+(num);
}
Thanks
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
I don’t know how much better you can do with a stored procedure in MySql, but you can definitely do better than 100500 queries:
At that point, you know that you can increment the number at the end of
nameand the result will be unused.I ‘m glossing over some fine print (this approach will never find and fill any “holes” in the naming scheme that may exist, and it’s still not guaranteed that the name will be available due to race conditions), but in practice it can be made to work quite easily.