سلام سوال من اینه ک برای چندیت تیبل چطور ستون جدید اضافه کنم برای نمونه :
testbot1
testbot2
testbot3
testbot4
برای این ها میخوام یک ستون جدید درست کنم میدونم میشه دستی درست کرد ولی وقتی تعداد اینا بالا بره ی جورایی نشد داره اگر روشی هست ممنون میشم کمکم کنید تا اتمام پروژم
من خودم از Medoo استفاده میکنم
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`
سلام نیازه که لیست تمامی جدول های دیتابیس که هم نام
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
ممنون برای جوابتون یک سوال راحت تر مطرح میکنم شما برای اضافه کردن ستون جدید به دیتابیس چیکار میکنید میدونم میشه دستی ایجاد کرد ولی تعداد جدول یا همون تیبل های من زیادی هست و مشابه هم هستن مقط اطلاعات داخلشون متفاوت هست یا این ک باید تیبل دراپ کنی که با مشخصات جدید ایجاد شه ولی اینم نمیتونم چون اطلاعات مهم از دست میره ( اشتباه تایپی بود منظور من ستون بود )
در کد بالا براتون فرستادم که بدون از دست رفتن اطلاعات چطوری یک ستون ایجاد یا حذف کنی اگه میخواهید یک سطر هم ایجاد کنید باز هم در کد بالا گفتم
منتها شما گفتید به فلان جدول ها میخام اعمال بشه منم حلقه زدم براتون اگه میخواید به یک جدول اعمال بشه خب در کد بالا یکسری تغییرات اعمال کنید
ALTER TABLE table_name RENAME COLUMN old_column_name TO new_column_name;
برای این ک چند ستون ایجاد کنه باید چیکار کنم
$sql = "ALTER TABLE users
ADD botname VARCHAR(35)";
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`
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟