下記のコマンドを実行すると、シンタックスエラーになります。
docker exec container bash -c "mysql -u user -ppassword -e 'use hoge; insert into foo(id, date_time) select id, \'01:00:00\' from bar;'"
原因はdocker execの処理をダブルクォーテーションで囲って、mysql -eの処理をシングルクォーテーションで囲って、sql文の日時でシングルクォーテーションで囲っているので、多分エスケープしないといけないと思います。
sql文にエスケープが必要かな?と思って、日時の値にシングルクォーテーションの部分に「\」を1~4個付けるパターンを試しましたが、エラーでした。どれをエスケープしてあげたらいいのでしょうか?
試して駄目だった
\'01:00:00\' \'01:00:00\' \\'01:00:00\\' \\'01:00:00\\'
環境
mysql 5.727
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/05 05:49