MySQL-এ কোনো শর্ত ছাড়া টেবিলের সব সারিতে একটি কলামের মান একই করে দিতে (bulk update) সরাসরি UPDATE স্টেটমেন্টে WHERE ক্লজ বাদ দিন।
সিনট্যাক্স
UPDATE table_name SET column_name = new_value;
উদাহরণ
CREATE TABLE bulk_change_demo (
customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
customer_name VARCHAR(20),
is_educated BOOLEAN
);
INSERT INTO bulk_change_demo (customer_name, is_educated) VALUES
('Larry', TRUE), ('John', FALSE), ('Carol', FALSE),
('Mike', TRUE), ('David', FALSE), ('Bob', FALSE);
আপডেট করার আগে
+-------------+---------------+-------------+
| customer_id | customer_name | is_educated |
+-------------+---------------+-------------+
| 1 | Larry | 1 |
| 2 | John | 0 |
| 3 | Carol | 0 |
| 4 | Mike | 1 |
| 5 | David | 0 |
| 6 | Bob | 0 |
+-------------+---------------+-------------+
সব সারিতে is_educated = TRUE সেট করুন
UPDATE bulk_change_demo SET is_educated = TRUE;
আউটপুট
Query OK, 4 rows affected (0.18 sec)
Rows matched: 6 Changed: 4 Warnings: 0
আপডেট করার পর
SELECT * FROM bulk_change_demo;
+-------------+---------------+-------------+
| customer_id | customer_name | is_educated |
+-------------+---------------+-------------+
| 1 | Larry | 1 |
| 2 | John | 1 |
| 3 | Carol | 1 |
| 4 | Mike | 1 |
| 5 | David | 1 |
| 6 | Bob | 1 |
+-------------+---------------+-------------+
সতর্কতা ও সেরা অনুশীলন
- WHERE ক্লজ ছাড়া UPDATE খুব বিপজ্জনক — প্রোডাকশনে চালানোর আগে
SELECT * FROM table WHERE conditionদিয়ে প্রভাবিত সারি যাচাই করুন - ট্রানজ্যাকশন ব্যবহার করুন:
START TRANSACTION; UPDATE bulk_change_demo SET is_educated = TRUE; -- SELECT * FROM bulk_change_demo; -- যাচাই করুন COMMIT; -- বা ROLLBACK; - ব্যাচ আপডেট (বড় টেবিলের জন্য):
UPDATE bulk_change_demo SET is_educated = TRUE LIMIT 1000; - ব্যাকআপ নিন বড় আপডেটের আগে
শর্তসাপেক্ষ বাল্ক আপডেট
-- শুধু FALSE वाले গুলো TRUE করুন
UPDATE bulk_change_demo SET is_educated = TRUE WHERE is_educated = FALSE;