#!bin/bash
Query="update table_name set colume ='i' where column_name is NOT NUll"
mysql -u username -p password mysql <<EOF
$query;
EOF
El script anterior no funciona
Respuesta1
La documentación de MySQL es bastante limpia:
#!bin/bash
query="update table_name set colume ='i' where column_name is NOT NUll"
mysql -u username -ppassword mysql -e "$query";
-e
La opción permite enviar una consulta arbitraria al servidor MySQL.
Observe que no hay espacio entre -p
y password
; esa es una sintaxis intencional de mysql
CLI
Respuesta2
El script anterior no funciona porque la sintaxis del shell distingue entre mayúsculas y minúsculas y usted solía Query
definir la variable y luego query
expandirla.
De lo contrario, consulte la respuesta de @Kondybas para conocer la forma correcta de hacerlo.