আমি একাধিক কলামের ডেটা ধরণটি ফ্লোট থেকে ইনট পর্যন্ত পরিবর্তন করতে চাই। এটি করার সহজ উপায় কী?
এখনও চিন্তার কোনও তথ্য নেই।
আমি একাধিক কলামের ডেটা ধরণটি ফ্লোট থেকে ইনট পর্যন্ত পরিবর্তন করতে চাই। এটি করার সহজ উপায় কী?
এখনও চিন্তার কোনও তথ্য নেই।
উত্তর:
http://dev.mysql.com/doc/refman/5.1/en/alter-table.html
ALTER TABLE tablename MODIFY columnname INTEGER;
এটি প্রদত্ত কলামটির ডেটাটাইপ পরিবর্তন করবে
আপনি কীভাবে কলামগুলিকে সংশোধন করতে চান তার উপর নির্ভর করে কোনও স্ক্রিপ্ট তৈরি করা ভাল হতে পারে, বা কোনও ধরণের mysql ক্লায়েন্ট জিইউআই ব্যবহার করা উচিত
আপনি যদি কোনও নির্দিষ্ট ধরণের সমস্ত কলামকে অন্য ধরণের কাছে পরিবর্তন করতে চান তবে আপনি এই জাতীয় একটি কোয়েরি ব্যবহার করে প্রশ্ন তৈরি করতে পারেন:
select distinct concat('alter table ',
table_name,
' modify ',
column_name,
' <new datatype> ',
if(is_nullable = 'NO', ' NOT ', ''),
' NULL;')
from information_schema.columns
where table_schema = '<your database>'
and column_type = '<old datatype>';
উদাহরণস্বরূপ, যদি আপনি থেকে পরিবর্তন কলাম করতে চান tinyint(4)
করতে bit(1)
, এটা ভালো সঞ্চালন করুন:
select distinct concat('alter table ',
table_name,
' modify ',
column_name,
' bit(1) ',
if(is_nullable = 'NO', ' NOT ', ''),
' NULL;')
from information_schema.columns
where table_schema = 'MyDatabase'
and column_type = 'tinyint(4)';
এবং এর মতো একটি আউটপুট পান:
alter table table1 modify finished bit(1) NOT NULL;
alter table table2 modify canItBeTrue bit(1) NOT NULL;
alter table table3 modify canBeNull bit(1) NULL;
!! অনন্য প্রতিবন্ধকতা রাখে না, তবে সহজেই অন্য- if
প্যারামিটারের সাথে ঠিক করা উচিত concat
। আমি প্রয়োজনে এটি প্রয়োগ করার জন্য এটি পাঠকের উপর ছেড়ে দিচ্ছি ..
Alter TABLE `tableName` MODIFY COLUMN `ColumnName` datatype(length);
প্রাক্তন:
Alter TABLE `tbl_users` MODIFY COLUMN `dup` VARCHAR(120);
আপনি alter table ... change ...
পদ্ধতিটি ব্যবহার করুন , উদাহরণস্বরূপ:
mysql> create table yar (id int);
Query OK, 0 rows affected (0.01 sec)
mysql> insert into yar values(5);
Query OK, 1 row affected (0.01 sec)
mysql> alter table yar change id id varchar(255);
Query OK, 1 row affected (0.03 sec)
Records: 1 Duplicates: 0 Warnings: 0
mysql> desc yar;
+-------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| id | varchar(255) | YES | | NULL | |
+-------+--------------+------+-----+---------+-------+
1 row in set (0.00 sec)
পরিবর্তন কলাম ডাটা টাইপ করার আছে পরিবর্তন পদ্ধতি এবং পরিবর্তন পদ্ধতি
ALTER TABLE student_info CHANGE roll_no roll_no VARCHAR(255);
ALTER TABLE student_info MODIFY roll_no VARCHAR(255);
ক্ষেত্রের নাম পরিবর্তন করতে পরিবর্তন পদ্ধতিটিও ব্যবহার করুন
ALTER TABLE student_info CHANGE roll_no identity_no VARCHAR(255);
https://dev.mysql.com/doc/refman/8.0/en/alter-table.html
আপনি কলামটির জন্য একটি ডিফল্ট মান সেট করতে পারেন কেবলমাত্র মান অনুসারে ডিফল্ট কীওয়ার্ড যুক্ত করুন।
ALTER TABLE [table_name] MODIFY [column_name] [NEW DATA TYPE] DEFAULT [VALUE];
এটি মারিয়াডিবি-র জন্যও কাজ করছে (পরীক্ষিত সংস্করণ 10.2)
ALTER TABLE
) বাস্তবে, কলামটিতে ইতিমধ্যে ডেটা থাকলেও কাজ করবে। তবে, একটি ফ্লোট কলামকে একটি পূর্ণসংখ্যা কলামে রূপান্তরিত করার ফলে এর মধ্যে কোনও অ-পূর্ণসংখ্যার মানগুলি নিকটতম পূর্ণসংখ্যার সাথে বৃত্তাকারে পরিণত করবে।