shell脚本执行mysql语句出现的问题

shell脚本执行mysql语句出现的问题,问群里的大牛的到解答,是单引号问题,改成双引号即可

#小提示(对本主题没什么关联):ubuntu目前使用的是dash,导致一些for(()函数无法正常执行,

sudo dpkg-reconfigure  dash

选择NO,就改会bash了

一。脚本内容如下:

#/bin/bash
hostname='192.168.2.52'
port=3306
username='root'
password='123456'
#dbname=''
#-----sql cmd---------------------------
sql_cmd='ALTER TABLE `mysql`.`user` ADD COLUMN `test` VARCHAR(1) NULL COMMENT 'test' AFTER `t3`;'
sql_cmd_02='show tables;'
sql_cmd_03='ALTER TABLE `mysql`.`user` ADD COLUMN `test3` VARCHAR(1) NULL COMMENT '操作系统名test_03';'
sql_cmd_04='select * from `mysql`.`user`;'
sql_cmd_05='ALTER TABLE `mysql`.`user` ADD COLUMN `test3` VARCHAR(1) NULL COMMENT '操作系统名test_03';'
mysql -h${hostname} -P${port} -u${username} -p${password}  -e "${sql_cmd_03}"

二.报错内容:

t

kkk@zabbix:~$ sh mysql-tb.sh 
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds 
to your MariaDB server version for the right syntax to use near '操作系统名test_03' at line 1

三.解决方式:

  sql语句中的COMMENT的内容需要双引号:

ALTER TABLE `mysql`.`user` ADD COLUMN `test3` VARCHAR(1) NULL COMMENT '操作系统名test_03';'
改成:
ALTER TABLE `mysql`.`user` ADD COLUMN `test3` VARCHAR(1) NULL COMMENT "操作系统名test_03";'


转载于:https://my.oschina.net/jk409/blog/495008

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值