رفتن به مطلب
  • 0

بهم خوردگی ستون id در دیتابیس آنلاین


batman123

سوال

سلام.

من یه جدول توی دیتابیس آنلاین دارم که 10 تا رکورد داره

اما وقتی مثلا رکورد ششمی رو حذف میکنم، تعداد رکورد های ستون آی دیم، از 1 تا 10 به صورت منظم نیست. بلکه از یک تا 5 هست، بعد شش که دیگه نیست و از هفت تا ده هست.

من میخوام این ستون به صورت خودکار یا با دستوری چیزی بعد از حذف رکوردی، دوباره مرتب بشه و مثلا بشه از 1 تا 9.

ممنون میشم راهنماییم کنید.

میخوام مثل جدول زیر نامرتب نباشه ستون id ش

untitled_16jo.png

لینک ارسال
به اشتراک گذاری در سایت های دیگر

7 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

در ۱۴۰۱/۱۲/۲۱ در 01:20، batman123 گفته است:

ببینید این کل فایل های php منه 

<?php

    $servername = "localhost";
    $username = "root";
    $password = "";
    $dbname = "package_online";
    
    $name=$_POST['name'];
    $description=$_POST['description'];
    $id=$_POST['id'];

    $conn = new mysqli($servername, $username, $password, $dbname);
    
    mysqli_set_charset ($conn , "utf8");
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }

    $sql_update="UPDATE tbl_items SET name='$name',description='$description' WHERE id='$id'";

    if ($conn->query($sql_update) === TRUE) {
        echo "send successful";
    } else {
        echo "send Error!!";
    }

    $conn->close();
?>

فقط به جای $id مثلا میذارم key

یعنی key رو از سمت برنامه ارسال میکنم برای فیلد key

به جای id از فیلد uniqe دیگه ای که ایجاد کردین استفاده کنید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

17 ساعت قبل، batman123 گفته است:

سلام.

من یه جدول توی دیتابیس آنلاین دارم که 10 تا رکورد داره

اما وقتی مثلا رکورد ششمی رو حذف میکنم، تعداد رکورد های ستون آی دیم، از 1 تا 10 به صورت منظم نیست. بلکه از یک تا 5 هست، بعد شش که دیگه نیست و از هفت تا ده هست.

من میخوام این ستون به صورت خودکار یا با دستوری چیزی بعد از حذف رکوردی، دوباره مرتب بشه و مثلا بشه از 1 تا 9.

ممنون میشم راهنماییم کنید.

میخوام مثل جدول زیر نامرتب نباشه ستون id ش

untitled_16jo.png

 

سلام و درود

این کار هزینه بر هست برای دیتابیس. دلیل خاصی برای این کار دارید؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

6 ساعت قبل، محمدرضا شاهپیری گفته است:

 

سلام و درود

این کار هزینه بر هست برای دیتابیس. دلیل خاصی برای این کار دارید؟

ببیند استاد، راستش من برای اینکه بتونم دستور آپدیت رو برای جدولم بنویسم، میام میگم برحسب آی دی که از سمت بیسیک براش میفرستم ، این بروزرسانی رو برای رکورد مربوطه اجرا کن.

حالا وقتی این ترتیب بهم میخوره، دیگه id که از جدول میگیرم برای انتخاب رکورد مورد نظرم و سپس به جدول ارسال میکنم برای آپدیت رکورد مورد نظر، در اثر این نامرتبی، رکورد دیگه ای انتخاب میشه و بروزرسانی اشتباهی انجام میشه.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

14 ساعت قبل، batman123 گفته است:

ببیند استاد، راستش من برای اینکه بتونم دستور آپدیت رو برای جدولم بنویسم، میام میگم برحسب آی دی که از سمت بیسیک براش میفرستم ، این بروزرسانی رو برای رکورد مربوطه اجرا کن.

حالا وقتی این ترتیب بهم میخوره، دیگه id که از جدول میگیرم برای انتخاب رکورد مورد نظرم و سپس به جدول ارسال میکنم برای آپدیت رکورد مورد نظر، در اثر این نامرتبی، رکورد دیگه ای انتخاب میشه و بروزرسانی اشتباهی انجام میشه.

از فیلد id اصن نباید استفاده کنید دوست عزیز

یه فیلد دیگه توی جدول بزارید و دیفالتشم بزارید uuid و از این فیلد استفاده کنید نحوه ساختنش توی mysql  به شکل زیر هست

CREATE TABLE your_tbl (   'filed_name' VARCHAR(32) DEFAULT (uuid());

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

9 ساعت قبل، محمدرضا شاهپیری گفته است:

از فیلد id اصن نباید استفاده کنید دوست عزیز

یه فیلد دیگه توی جدول بزارید و دیفالتشم بزارید uuid و از این فیلد استفاده کنید نحوه ساختنش توی mysql  به شکل زیر هست

CREATE TABLE your_tbl (   'filed_name' VARCHAR(32) DEFAULT (uuid());

 

اتفاقا یه فیلده دیگه گذاشتم استاد، متنها همینطوری خطا داد

اما آی دی رو مرتب میکنم، خطا نمیده

دیوانه کرده منو

لینک ارسال
به اشتراک گذاری در سایت های دیگر

18 ساعت قبل، batman123 گفته است:

اتفاقا یه فیلده دیگه گذاشتم استاد، متنها همینطوری خطا داد

اما آی دی رو مرتب میکنم، خطا نمیده

دیوانه کرده منو

پس قطعا کوئریتون اشتباهه 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

5 ساعت قبل، محمدرضا شاهپیری گفته است:

پس قطعا کوئریتون اشتباهه 

ببینید این کل فایل های php منه 

<?php

    $servername = "localhost";
    $username = "root";
    $password = "";
    $dbname = "package_online";
    
    $name=$_POST['name'];
    $description=$_POST['description'];
    $id=$_POST['id'];

    $conn = new mysqli($servername, $username, $password, $dbname);
    
    mysqli_set_charset ($conn , "utf8");
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }

    $sql_update="UPDATE tbl_items SET name='$name',description='$description' WHERE id='$id'";

    if ($conn->query($sql_update) === TRUE) {
        echo "send successful";
    } else {
        echo "send Error!!";
    }

    $conn->close();
?>

فقط به جای $id مثلا میذارم key

یعنی key رو از سمت برنامه ارسال میکنم برای فیلد key

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...