回答

收藏

MySQL在脚本中包含一个脚本

技术问答 技术问答 693 人阅读 | 0 人回复 | 2023-09-14

我参与了一个将项目从Oracle迁移到MySQL的项目。在Oracle中,当通过命令行运行批处理时,我能够创建一个引用或包含其他外部SQL脚本文件的SQL脚本。我有一个名为CreateAllTables.sql的脚本,在内部看起来像这样:
4 x9 P2 J. t: x@tables\Site.sql, _5 g$ P  Q) S4 ^- v( i
@tables\Language.sql' U6 _, P6 J! o( E. f; h2 F
@tables\Country.sql9 D! n) d7 X5 E; x# f. }; B
@tables\Locale.sql
$ j& N$ Q$ R4 r5 o@tables\Tag.sql$ z4 n( }2 B  p( Y" `& i
我已经知道MySQL命令行“源”命令,但是我的目标是通过一个命令行调用来调用一个包含其他脚本的主.sql脚本文件,如下所示:
! _/ E1 S, n( M9 Q' C+ v: Cmysql --user=root --password --database=junkdb -vv 所以我的问题是我该如何使用MySQL?
$ Q" G- n( f: Y6 C0 {               
" a9 o) l/ n1 m8 F' k6 f: Z解决方案:2 c9 ]) s2 d6 I
                2 t, S% e& U! p2 Y. S; v3 X
7 P# z* }  r7 K4 D' p& t$ F& Q/ i
& ]9 s9 L3 X- _6 a  u
                source 为我工作。
' y) M4 {6 [  j) g# -- foo.sql
* f: X% e( w7 F4 l! [. i8 @DROP TABLE foo;
/ b- U( Y0 N; t- z) N, asource bar.sql
: _2 N& M4 M& e' E5 e8 o, f3 ?2 S# -- bar.sql2 j' [3 T! D/ K6 F
CREATE TABLE bar (i INT NOT NULL);& ]6 [6 P1 A; Q0 \4 U9 ?: i3 x
$ mysql ... 现在,表 foo 消失了,创建了 bar 。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则