علی رضا
1 سال پیش توسط علی رضا مطرح شد
6 پاسخ

چطور سطر جدید اضافه کنم

سلام سوال من اینه ک برای چندیت تیبل چطور ستون جدید اضافه کنم برای نمونه :

testbot1
testbot2
testbot3
testbot4

برای این ها میخوام یک ستون جدید درست کنم میدونم میشه دستی درست کرد ولی وقتی تعداد اینا بالا بره ی جورایی نشد داره اگر روشی هست ممنون میشم کمکم کنید تا اتمام پروژم
من خودم از Medoo استفاده میکنم


ثبت پرسش جدید
oss_vahid
تخصص : wordpress developer
@ossvahid 1 سال پیش مطرح شد
0
ALTER TABLE users
 ADD COLUMN `count` SMALLINT(6) NOT NULL
,
ADD COLUMN `log` VARCHAR(12) NOT NULL

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

ADD COLUMN `count` SMALLINT(6) NOT NULL
 AFTER `lastname`

برای اضافه کردن قبل از یک ستون مثلا قبل از ستون lastname

ADD COLUMN `count` SMALLINT(6) NOT NULL
 FIRST `lastname`

Arshiamohammadei
تخصص : وب و هوش مصنوعی
@Arshiamohammadei 1 سال پیش مطرح شد
0

از لاراول مایگریشن استفاده کن


oss_vahid
تخصص : wordpress developer
@ossvahid 1 سال پیش آپدیت شد
0

سلام نیازه که لیست تمامی جدول های دیتابیس که هم نام
testbot
هستن رو دریافت کنی

من فرض میکنم منظورت از
testbot
نام هر جدول هستش

نکته : در متن بالا یکبار گفتی میخای برای جدول ها سطر ایجاد کنی بعد باز گفتی میخای ستون ایجاد کنی این دوتا خیلی فرق دارن من فرض میکنم شما میخوای برای هر جدول یک سطر ایجاد کنی


$connect = new mysqli('localhost','root','','wordpress');

if($connect->connect_error) {
   echo $connect->connect_error;
}
 $dbname = 'wordpress';
 $sql = "SHOW TABLES FROM $dbname LIKE '%testbot%'";
 $results = $connect->query($sql);
 $tables = $results->fetch_all(MYSQLI_ASSOC);

 // testbot تعداد کل جداول همنام با 
  $table_count = count($tables);
foreach($tables as $table) :

 $current_table_name = $table["Tables_in_{$dbname} (%testbot%)"];

 //  **************** کد زیر هر بار حلقه اجرا بشه یک سطر جدید ایجاد میکنه ****************
/*
 $sql = "INSERT INTO {$current_table_name}(id,botstatus) VALUES('5','3')";
 $connect->query($sql);
*/

   // **************** اگه میخای هر جدول فقط یک سطر داشته باشه ****************

   $sql = "SELECT * FROM {$current_table_name}";
   $results = $connect->query($sql);

   if($results->num_rows == 0) {
    $sql = "INSERT INTO {$current_table_name}(id,botstatus) VALUES('5','3')";
    $connect->query($sql);
   }

       // **************** testbot افزودن یک ستون جدید به همه جدول های ****************
       // نکته بعد از اضافه کردن ستون این دستور رو حذف کن تا ارور نده
       /*
       $sql = "ALTER TABLE {$current_table_name} ADD botname VARCHAR(35)";
        $connect->query($sql);
       */

              // **************** testbot حذف یک ستون از همه جدول های ****************
       // نکته بعد از حذف کردن ستون این دستور رو حذف کن تا ارور نده
         /*
       $sql = "ALTER TABLE {$current_table_name} DROP botname";
        $connect->query($sql);
        */

endforeach;

اگه میخای برای هر جدول یک ستون جدید ایجاد کنی کافیه فقط بخش کویری درون حلقه رو تغییر بدی

ALTER TABLE myTable ADD column_name datatype

علی رضا
تخصص : علاقه مند به php
@reza1275 1 سال پیش آپدیت شد
0

ممنون برای جوابتون یک سوال راحت تر مطرح میکنم شما برای اضافه کردن ستون جدید به دیتابیس چیکار میکنید میدونم میشه دستی ایجاد کرد ولی تعداد جدول یا همون تیبل های من زیادی هست و مشابه هم هستن مقط اطلاعات داخلشون متفاوت هست یا این ک باید تیبل دراپ کنی که با مشخصات جدید ایجاد شه ولی اینم نمیتونم چون اطلاعات مهم از دست میره ( اشتباه تایپی بود منظور من ستون بود )


oss_vahid
تخصص : wordpress developer
@ossvahid 1 سال پیش آپدیت شد
0

در کد بالا براتون فرستادم که بدون از دست رفتن اطلاعات چطوری یک ستون ایجاد یا حذف کنی اگه میخواهید یک سطر هم ایجاد کنید باز هم در کد بالا گفتم
منتها شما گفتید به فلان جدول ها میخام اعمال بشه منم حلقه زدم براتون اگه میخواید به یک جدول اعمال بشه خب در کد بالا یکسری تغییرات اعمال کنید

تغییر نام ستون

ALTER TABLE table_name RENAME COLUMN old_column_name TO new_column_name;

@erfandoreh


علی رضا
تخصص : علاقه مند به php
@reza1275 1 سال پیش مطرح شد
0

برای این ک چند ستون ایجاد کنه باید چیکار کنم
$sql = "ALTER TABLE users ADD botname VARCHAR(35)";


oss_vahid
تخصص : wordpress developer
@ossvahid 1 سال پیش مطرح شد
0
ALTER TABLE users
 ADD COLUMN `count` SMALLINT(6) NOT NULL
,
ADD COLUMN `log` VARCHAR(12) NOT NULL

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

ADD COLUMN `count` SMALLINT(6) NOT NULL
 AFTER `lastname`

برای اضافه کردن قبل از یک ستون مثلا قبل از ستون lastname

ADD COLUMN `count` SMALLINT(6) NOT NULL
 FIRST `lastname`

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام