Tôi có một tập lệnh cập nhật MySQL mà tôi muốn chạy từ dòng lệnh, nhưng tôi muốn có thể chuyển biến miền giai đoạn sang tập lệnh.Chuyển các biến MySQL sang tập lệnh từ dòng lệnh
Tôi biết điều này sẽ không làm việc, nhưng đó là cách tốt nhất mà tôi có thể mô tả những gì tôi đang cố gắng để làm:
$ -uroot -hlocalhost mydatabase --execute "SET @domain = 'mydomain.dev' " < ./sql/update_domain.sql
Bên trong kịch bản, tôi đang sử dụng biến @domain, để cập nhật một số biến cấu hình trong bảng cấu hình, sử dụng các lệnh như sau:
UPDATE my_cfg SET value = @domain WHERE name = 'DOMAIN';
Về cơ bản tôi muốn đặt tiền tố SET @domain trên tệp update_domain.sql.
Bất kỳ ý tưởng nào về cách tôi có thể khắc phục cách tiếp cận của mình?
tôi nhận được một lỗi cú pháp, trừ khi tôi đặt một dấu chấm phẩy sau lệnh nguồn – Jeff
Có vẻ như thế này có thể không hoạt động trong mysql 5.6? 'nguồn' hoạt động tương tác, nhưng dường như không hoạt động khi được truyền vào tham số' -e'. – ebyrob