如何用shell脚本实现传递表id值?
如何用shell 脚本 实现 根据查询出的id 然后根据id 找出子表对应的记录然后删除子表中对应的记录??
比如说 父表parent ;子表child;
如下表结构:
show create table parent;
CREATE TABLE `parent` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`create_time` datetime DEFAULT '2012-01-01 00:00:00',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=85 DEFAULT CHARSET=utf8 ;
show create table child;
CREATE TABLE `child` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`parent_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `par_ind` (`parent_id`),
CONSTRAINT `child_ibfk_1` FOREIGN KEY (`parent_id`) REFERENCES `parent` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=73 DEFAULT CHARSET=utf8
mysql> select id from parent where create_time<='2012-01-01' and create_time>='2012-01-01';
+----+
| id |
+----+
| 101|
+----+
1 row in set (0.00 sec)
将此值 id=101 传给 子表 child 将小于此id 的记录删除.
delete from child where id<101;
然后删除父表中的对应记录
delete from parent create_time<='2012-01-01';
请教大家 如何通过shell 实现 id的传递??
比如说 父表parent ;子表child;
如下表结构:
show create table parent;
CREATE TABLE `parent` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`create_time` datetime DEFAULT '2012-01-01 00:00:00',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=85 DEFAULT CHARSET=utf8 ;
show create table child;
CREATE TABLE `child` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`parent_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `par_ind` (`parent_id`),
CONSTRAINT `child_ibfk_1` FOREIGN KEY (`parent_id`) REFERENCES `parent` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=73 DEFAULT CHARSET=utf8
mysql> select id from parent where create_time<='2012-01-01' and create_time>='2012-01-01';
+----+
| id |
+----+
| 101|
+----+
1 row in set (0.00 sec)
将此值 id=101 传给 子表 child 将小于此id 的记录删除.
delete from child where id<101;
然后删除父表中的对应记录
delete from parent create_time<='2012-01-01';
请教大家 如何通过shell 实现 id的传递??
...全文
相关推荐
Linux shell传递参数实现原理及代码实例
这些参数使得脚本能够根据不同的输入进行动态操作。本文将深入探讨Linux Shell传递参数的实现原理以及提供代码实例。### 1.
向shell或者sql脚本传参或接收参数的方法
请注意,SQL脚本的执行通常需要以`/`结束,以指示SQL*Plus执行整个块。在Shell脚本中,除了位置参数,还有一些内部参数值得注意:- `$#`:表示传递给脚本的总参数数量。- `$?
shell脚本实现ssh-copy-id批量自动发送公钥到远程主机
### 总结通过上述两种方法,我们可以实现使用shell脚本批量自动发送公钥到远程主机,从而实现SSH无密码登录。这种方法在管理大规模服务器环境时尤为实用,极大地提高了工作效率。
shell执行mysql脚本
当我们需要在Linux环境下批量处理数据库操作时,结合使用shell脚本和MySQL可以极大地提高效率。以下将详细介绍如何在shell脚本中执行MySQL脚本并传递参数。
shell脚本中的部分环境变量$0,$?,$!,$$,$*,$#,$@
. **`$$`**: `$$` 表示当前Shell进程的进程ID(PID)。当你需要在脚本中跟踪或控制子进程时,这个变量非常有用。例如,如果你启动了一个后台进程,你可以保存`$$`的值以供后续操作。


