0

我有一个用户可以实际测试/提交数据的 php/mysql 应用程序,所以我想删除/删除数据库中的所有表并运行我的 sql 脚本以每小时重新创建和填充所有表。

所以,在我的 cpanel 中,我有一个 cron 工作 [见下文]

/home/lwarinz/call_nw_test_script.sh

#!/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

我已经改变了很多东西,但仍然没有任何效果。

我知道数据库、用户和密码是正确的。我写了一个小的数据库连接代码来测试,所以我确定。由于我是新手,因此编写 cron 作业,我不知道要检查什么。谁能给我关于我需要测试、更改、移动等的任何想法?

任何帮助/建议将不胜感激。

4

3 回答 3

2

/home/lwarinz/call_nw_test_script.sh

#!/bin/bash
mysql -hlocalhost -ulwarinz_hawaii -pdbAdmin67 lwarinz_northwind </home/lwarinz/nw_test_Script.sql;
于 2012-08-29T20:47:02.880 回答
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;
于 2012-08-29T22:45:14.333 回答
0

只是想留下这张便条。我一直在努力解决这个问题,终于到了我知道我的脚本正确的地步。第 4 次联系我的网站提供商,让最后一个人查看脚本并解释它为什么不起作用。长话短说,我的空间中有一些“不正常”的东西需要调整[我仍然不确定我是否相信],所以它现在可以工作了。

感谢大家的意见,我很感激。

于 2012-09-28T15:49:57.857 回答