我想通过说我相信正确的方法来处理这个问题可能是为了重构数据库表,但我想这样做
我在一个客户工作,他正在购买美国大部分高尔夫球场的数据库.由于他将定期收到卖家的更新,我保留了已发送的结构.(令人讨厌的是:数据的骗子卖家承诺在他"必须改变现有记录的ID"时告诉我们.什么?你在销售数据然后改变之后的唯一ID?)
所以我有一张T恤表(一组孔作为序列播放); 一张圆桌(一个发球台)和一张洞(每个洞的个人得分).
在发球台中,这些小球正在存储par(目标分数),如场名Par_ 1,Par_2,Par_3至Par_18,其中INT值.因此,孔号是字段名称的一部分,并且根本不存储为值.
现在让我们说我需要查找你在特定回合中等于3的洞的所有得分的平均值.或者你的所有回合.
就像是
SELECT (SUM(holesPlayed.score) / COUNT(holesPlayed.score))
FROM holesPlayed, tees
WHERE
holesPlayed.round_id = 9
AND tees.CourseTeeNumber = 'UT-94-1'
AND tees.Par_x = 3;
Run Code Online (Sandbox Code Playgroud)
所以我可以很容易地通过洞找到分数,但是因为洞数被嵌入到这样的字段名中,所以查找一个洞的标准将涉及一场噩梦.
我应该开始写一些东西来将tee和hole导出到他们自己的桌子吗?
我错过了一些令我惊讶的SQL功夫吗?
你的建议是什么?
我想通过cron维护多个日期备份,但我似乎无法弄清楚如何在cron中连接文件名.
目前我只使用以下内容:
/bin/mv /var/www/vhosts/mysite.org/dbBackups/today.sql /var/www/vhosts/mysite.org/dbBackups/yesterday.sql
/usr/bin/mysqldump --add-drop-table -u dbname -pmypass dbname > /var/www/vhosts/mysite.org/dbBackups/today.sql
Run Code Online (Sandbox Code Playgroud)
我试过的是不好的:
/usr/bin/mysqldump/mysqldump --add-drop-table -u dbname -pmypass dbname > '/var/www/vhosts/mysite.org/dbBackups/' . date +%Y%m%d . dbname.sql
Run Code Online (Sandbox Code Playgroud)
那么如何在cron中将该字符串连接起来呢?
这很简单我很困惑.我有以下内容:
var x = 'shrimp';
var stypes = new Array('shrimp', 'crabs', 'oysters', 'fin_fish', 'crawfish', 'alligator');
for (t in stypes) {
if (stypes[t] != x) {
alert(stypes[t]);
}
}
Run Code Online (Sandbox Code Playgroud)
一旦值迭代,它就开始返回十几个函数
function (iterator, context) {
var index = 0;
iterator = iterator.bind(context);
try {
this._each(function (value) {iterator(value, index++);});
} catch (e) {
if (e != $break) {
throw e;
}
}
return this;
}
Run Code Online (Sandbox Code Playgroud)
到底他妈发生了什么?
编辑:在这些脚本中我使用的是http://script.aculo.us/prototype.js和http://script.aculo.us/scriptaculous.js 我记得现在读到原型扩展数组的方式,我打赌这个是它的一部分.我该如何处理?
这个命令:
/usr/bin/mysqldump --add-drop-table -u myuser -pmypass mydb > "/home/myuser/dbBackups/"`date +%Y%m%d`".sql"
Run Code Online (Sandbox Code Playgroud)
从命令行工作正常但是当cron运行它我得到
/bin/sh: -c: line 0: unexpected EOF while looking for matching ``'
/bin/sh: -c: line 1: syntax error: unexpected end of file
Run Code Online (Sandbox Code Playgroud)
该命令全部在crontab中的一行上,所以我对第0行和第1行引用感到困惑......
谁能告诉我我在那里做错了什么?
我在每个调用中传递此函数不同的字段名称.我希望它将变量的插值字符串值field作为发布的var的名称发布.例如,一个帖子可能有
data: { 'shoppingCartContents' : cartrow, 'number' : number, 'foo' : value }
Run Code Online (Sandbox Code Playgroud)
但每个帖子都有
data: { 'shoppingCartContents' : cartrow, 'number' : number, 'field' : value }
Run Code Online (Sandbox Code Playgroud)
即使field不是引号.
function update_personalization(cartrow, number, field, value) {
$.ajax({
type: 'POST',
url: 'updatePersonalization.php',
data: { 'shoppingCartContents' : cartrow, 'number' : number, field : value }
});
}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我有一种情况,经过几年的使用,我们突然有一些JSON编码的值,由于反斜杠,我们的Perl脚本适合.
问题是í和é等重音字符.一个例子是Matí编码为Mat\ud873.
目前尚不清楚环境中可能发生的变化.涉及PHP,Perl和MySQL.表格排序是latin1_swedish_ci,这可能是由一个同事搞砸了.
这对任何人都响铃吗?
我有一些街道号码存储为VARCHAR但我想尽可能将它们排序为INT.接受此语法但生成alpha排序集,如max = 53,min = 1203
SELECT `StreetName`,
CAST( MIN( `StreetNumber` ) AS UNSIGNED) as min,
CAST( MAX( `StreetNumber` ) AS UNSIGNED) as max
FROM `tblAddToLotBridge`
WHERE `LotNumber` = '$item_lotnum'
AND `Primary_Secondary` = 0
GROUP BY `StreetName`
ORDER BY `StreetName`
Run Code Online (Sandbox Code Playgroud)
我尝试CAST()在MIN()/ 内嵌/ MAX()但语法被拒绝了.
DWIM的正确sytax是什么?
我有一张表,其中第一个单元格具有不同的背景.当应用TR:hover时,这些单元格不会改变.
当行悬停时,有没有办法覆盖它们?
#spreadsheet TABLE, #spreadsheet TH, #spreadsheet TD {
border:1px solid #CCC;
}
#spreadsheet TABLE TR:hover {
background:#BAFECB !important;
}
#spreadsheet TD:first-child {
background:#fff;
white-space:nowrap;
}
Run Code Online (Sandbox Code Playgroud) 我正在构建一个像这样的输出数组
if (count($errors)) {
$success = 'false';
$output['json_msg'] = "Please try your submission again.";
$output['errors'] = $errors;
} else {
$success = 'true';
$output['json_msg'] = "Thanks for Becoming a NOLA Insider!";
}
$output['success'] = $success;
header('Content-type:application/json;charset=utf-8');
if (count($errors)) { http_response_code(500); }
echo json_encode($output);
exit;
Run Code Online (Sandbox Code Playgroud)
但是,当我在 Chrome 的开发者工具的网络窗格中查看响应时,我看到响应中似乎是换行符:
我尝试将 json_encode() 包装在 trim() 中,但这给出了乱码输出。
如何消除回车?
我确定这一定是一个明显的错误,但我很难过.下面的shell脚本生成一个数据库转储并成功gzip但是aws cli给出了错误:
warning: Skipping file /home/bar/dbsnapshots/foo-12-11-2016.sql.gz/. File does not exist.
我在这个错误中看到了斜杠,但是不明白为什么会显示它或者事实上,aws是否正在寻找一个名为foo-12-11-2016.sql.gz的目录?
ls 按预期显示该文件.
vi /home/bar/dbsnapshots/foo-12-11-2016.sql.gz 成功打开gz文件.
我在路径周围尝试了带有和不带引号的aws命令,同样的错误.我从命令行的shell脚本外部尝试了aws命令,同样的错误.例如
/home/bar/bin/aws s3 sync "/home/bar/dbsnapshots/foo-12-11-2016.sql.gz" s3://foo
AWS CLI由我的用户在/ home/bar/awscli-bundle中的此共享服务器上本地安装并配置,并且能够在S3上创建存储桶.通过AWS浏览器GUI验证.
#!/bin/bash
TODAY=`/bin/date +"%-m-%-d-%Y"`
BU_DIR=/home/bar/dbsnapshots
LOCALFILE=$BU_DIR/foo-${TODAY}.sql
EXCLUDED_TABLES=(
membersBackupV2
transactionReferer
transpages
)
IGNORED_TABLES_STRING=''
for TABLE in "${EXCLUDED_TABLES[@]}"
do :
IGNORED_TABLES_STRING+=" --ignore-table=bar_membership.${TABLE}"
done
mysqldump --defaults-extra-file="${BU_DIR}/.my.cnf" --all-databases ${IGNORED_TABLES_STRING} > ${LOCALFILE}
/bin/gzip ${LOCALFILE}
/home/bar/bin/aws s3 sync ${LOCALFILE}.gz s3://foo
Run Code Online (Sandbox Code Playgroud)