mysql -e option with variable data - Pass the variable value to insert sql statement in shell script
        Posted  
        
            by 
                Ahn
            
        on Server Fault
        
        See other posts from Server Fault
        
            or by Ahn
        
        
        
        Published on 2012-06-26T08:03:19Z
        Indexed on 
            2012/06/26
            9:17 UTC
        
        
        Read the original article
        Hit count: 259
        
mysql
|shell-scripting
The following shell script is not inserting the data to the table. How to pass the variable value to insert sql statement in a shell script.
id=0
while true
do
id=`expr $id + 1`;
mysql -u root -ptest --socket=/data/mysql1/mysql.sock -e 'insert into mytest1.mytable2(id,name) values (' $id ',"testing");'
echo $id  >> id.txt
done
I have modified the script as below and tried, and still having the issue
id=0
while true
do
id=`expr $id + 1`;
# mysql -u root -ptest --socket=/data/mysql1/mysql.sock1 -e 'insert into mytest1.mytable1(name) values ("amma");'
mysql -u root -ptest --socket=/data/mysql1/mysql.sock -e 'insert into mytest1.mytable2(id,name) values ( $id ,"testing");'
echo $id  >> id.txt
done
error :
]$ ./insert 
ERROR 1054 (42S22) at line 1: Unknown column '$id' in 'field list'
© Server Fault or respective owner