创建一个MySQL脚本,用一些表填充测试数据。想避免多次执行脚本(不仅仅是团队中的我:)。由于我不拥有表格,因此我无法创建约束或删除表格内容。
我想做什么的粗略代码概念:
IF (SELECT EXISTS(SELECT * FROM <1st_Table> WHERE <1st_Record_Inserted>)) GOTO DontDoAnythingLabel
INSERT <1st_Table> ...
INSERT <2nd_Table> ...
INSERT <3rd_Table> ...
...
UPDATE <N_Table>
...
INSERT <M_Table> ...
DontDoAnythingLabel:
如何用MySQL编写此代码?
答案 0 :(得分:1)
如果你正在使用Linux / Unix,那么你可以使用这样的脚本:
#!/bin/bash
res=`mysql -s -r -N -u [user] -p[password] -e 'SELECT EXISTS (SELECT * FROM <1st_Table> WHERE <1st_Record_Inserted>)' [database]`
if [ $res = "1" ]; then
mysql -u [user] -p[password] [database] < sql_script.sql;
else
echo "There are no such records!";
fi
mysql -u [user] -p[password] [database] < next_sql_script.sql;
否则使用Windows cmd / VBscript / whatever创建类似的东西。