我有一个用户可以实际测试/提交数据的php / mysql应用程序,因此我想删除/删除数据库中的所有表并运行我的sql脚本以每小时重新创建并填充所有表。
所以,在我的cpanel中,我有一个cron工作[见下文]
#!/bin/bash
mysql -hlocalhost -ulwarinz_hawaii -pdbAdmin67 -elwarinz_northwind \
</home/lwarinz/nw_test_Script.sql;
注意:我有查询要删除并重新创建表格,但我使用这个简短的查询进行测试:
USE lfwebz_northwind;
UPDATE employees SET FirstName = "Elizabeth" WHERE EmployeeID = 3;
但无论我更改/调整什么,我都会收到以下错误:
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax to use near
'lwarinz_northwind' at line 1
我已经改变了很多东西,但仍然无效。
我知道数据库,用户和密码是正确的。我写了一个小的db连接代码来测试,所以我很确定。由于我是新手,写cron工作,我不知道该检查什么。谁能给我任何关于我需要测试,改变,移动等的想法?
非常感谢任何帮助/建议。
答案 0 :(得分:1)
/home/lwarinz/call_nw_test_script.sh
#!/bin/bash
mysql -hlocalhost -ulwarinz_hawaii -pdbAdmin67 lwarinz_northwind </home/lwarinz/nw_test_Script.sql;
答案 1 :(得分:0)
因为您在命令行上指定了数据库,所以不要将USE作为脚本的一部分包含在内..
#!/bin/bash
mysql -hlocalhost -ulwarinz_hawaii -pdbAdmin67 lwarinz_northwind \
</home/lwarinz/nw_test_Script.sql;
脚本:
UPDATE employees SET FirstName = "Elizabeth" WHERE EmployeeID = 3;
答案 2 :(得分:0)
只是想留下这个说明。我不停地插上它,终于明白我知道我的脚本是正确的。第四次与我的网站提供商联系,并让最后一个人查看脚本并解释为什么它无法正常工作。长话短说,在我的空间里有一些需要调整的“关闭”[仍然不确定我相信],所以它现在有效。
感谢大家的投入,我很感激。