Không, thực sự không có cách nào để thêm một trường vào nhiều bảng cùng một lúc. Bạn sẽ cần phải viết một kịch bản cho nó. Tuy nhiên, nó không phải là một kịch bản khó viết:
SHOW TABLES
đơn giản truy vấn sẽ cung cấp cho bạn danh sách các bảng mà sau đó bạn có thể lặp lại trong PHP.
Trong vòng lặp, một SHOW COLUMNS FROM tablename
truy vấn sẽ cung cấp cho bạn các trường trong bảng hiện tại, bạn có thể sử dụng các trường này để kiểm tra xem nó đã có practiceId
chưa và sau đó thêm nó nếu cần.
Để thêm trường, hãy sử dụng tên bảng ALTER TABLE tablename ADD COLUMN practiceId INT
(Tôi đã giả định là INT
, nhưng hãy thay thế bằng tuy nhiên trường của bạn cần được xác định nếu bạn đang sử dụng kiểu dữ liệu khác)
Để thêm chỉ mục trên cột mới, bạn cũng có thể sử dụng ALTER TABLE
hoặc sử dụng CREATE INDEX
. Để tạo khóa ngoại, hãy sử dụng ALTER TABLE
với ADD FOREIGN KEY
đối số (Nhưng tôi tin rằng điều này chỉ hoạt động với các bảng InnoDB).
Tham khảo: