2017-08-21 2 views
0

Je souhaite mettre à jour le paramètre 'Inactif' pour la valeur client sélectionnée lorsque leur statut est actif, j'ai essayé de le faire mais il ne met pas à jour 'Inactif' pour le client sélectionné. Si vous avez une idée de ce qui ne va pas, faites le moi savoir. Merci!La requête de mise à jour ne fonctionne pas dans le script

#!/bin/bash 

echo " --- Enter the Database name ---" #name of the database 
read databasename 

echo " --- enter the table name --- " #name of the table 
read table_name 

sqlite3 $databasename.db $table_name; 

sqlite3 $databasename.db "select * from $table_name WHERE cus_status = 'Active';" 

echo "---Select the domain to make Inactive---" 
read inactive_user 


sqlite3 $databasename.db "UPDATE $table_name SET cus_status = 'Inactive' WHERE cus_name = $inactive_user $table_name"; 


sqlite3 $databasename.db "select * from $table_name"; 
+0

Essayez de mettre inactive_user de $ entre guillemets simples –

+0

sqlite3 $ databasename.db "Mettre à Jour $ nom_table SET cus_status = 'inactif' OÙ cus_name = 'inactive_user de $"; Ne fonctionne pas – Mahendranatarajan

+0

Pourquoi répétez-vous '$ table_name' à la fin de votre requête de mise à jour SQL? –

Répondre

1

Vérifiez le type de données de la colonne cus_name. Je suppose que c'est varchar. Ainsi, au lieu de $inactive_user vous pouvez essayer '$inactive_user'

"UPDATE $table_name SET cus_status = 'Inactive' WHERE cus_name = '$inactive_user' $table_name;"