小编ype*_*eᵀᴹ的帖子

如何在PostgreSQL查询中声明变量

如何声明变量以用于PostgreSQL 8.3查询?

在MS SQL Server中,我可以这样做:

DECLARE @myvar INT
SET @myvar = 5

SELECT *
FROM somewhere
WHERE something = @myvar
Run Code Online (Sandbox Code Playgroud)

我如何在PostgreSQL中做同样的事情?根据文档变量被简单地声明为"名称类型;",但这给了我一个语法错误:

myvar INTEGER;
Run Code Online (Sandbox Code Playgroud)

有人能给我一个正确语法的例子吗?

sql postgresql postgresql-8.3

205
推荐指数
13
解决办法
31万
查看次数

查找表中的列数

可以在表中找到行数:

select count(*) from tablename
Run Code Online (Sandbox Code Playgroud)

是否可以找到表中的列数?

mysql sql

115
推荐指数
7
解决办法
33万
查看次数

性能差异:INNER JOIN与WHERE子句的条件

说我有一个表order作为

id | clientid | type | amount | itemid | date
---|----------|------|--------|--------|-----------
23 | 258      | B    | 150    | 14     | 2012-04-03
24 | 258      | S    | 69     | 14     | 2012-04-03
25 | 301      | S    | 10     | 20     | 2012-04-03
26 | 327      | B    | 54     | 156    | 2012-04-04
Run Code Online (Sandbox Code Playgroud)
  • clientid是一个回到client桌面的外键
  • itemid是一个回到item表的外键
  • type只是BS
  • amount 是一个整数

和一张桌子processed作为

id | orderid …
Run Code Online (Sandbox Code Playgroud)

sql postgresql performance query-optimization

28
推荐指数
1
解决办法
3万
查看次数

用SQL进行条件INSERT?

我有一个数据库,不时更新数据集.在这里,可能会发生已经存在于数据库中的数据集.

目前我是第一个做的

SELECT FROM ... WHERE val1=... AND val2=...
Run Code Online (Sandbox Code Playgroud)

检查是否已存在具有这些数据的数据集(使用WHERE语句中的数据).如果这不返回任何值,我正在执行INSERT.

但这对我来说似乎有点复杂.所以我的问题是:是否存在某种条件INSERT,只有在它不存在的情况下才会添加新数据集?

我正在使用SmallSQL

sql database smallsql

23
推荐指数
2
解决办法
8万
查看次数

PDO比mysql查询慢得多?

我在PHP中使用PDO对象来运行MYSQL查询,我一直在尝试处理查询以加快它的速度.查询如下,如我的PHP文件中所示:

$query = 
"SELECT SQL_NO_CACHE f.position, s.item_id, s.item_type, s.title, s.caption, s.date
FROM apiv2.search_all s 
INNER JOIN apiv2.tags t 
USING(item_id, item_type) 
LEFT JOIN apiv2.featured f 
ON t.item_id = f.item_id AND t.item_type = f.item_type AND f.feature_type = :id 
WHERE t.tag = 'FeaturedContent'
ORDER BY position IS NULL, position ASC, date";

$mysql_vars[':id'] = $id;
$stmt = $connection->prepare($query);
$stmt->execute($vars);
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
Run Code Online (Sandbox Code Playgroud)

此查询的运行方式有很大不同,具体取决于我是否包含ORDER BY子句,但仅限于MYSQL控制台:

 - MYSQL Console with ORDER BY: 1.07 sec
    - starting  0.000141
    - Opening tables    0.001416
    - System lock   0.000003
    - …
Run Code Online (Sandbox Code Playgroud)

php mysql pdo

15
推荐指数
1
解决办法
3198
查看次数

从客户端到服务器数据库更新游戏分数的最安全方法?使用Javascript

所以我有这个完全在客户端上运行的游戏.除了下载初始脚本以玩游戏之外,没有服务器交互.无论如何,在游戏结束时,我希望客户端将我应该在服务器数据库中更新的分数发回给我.现在我开始接受这样一个事实,即地球上没有任何办法我可以将其隐藏起来并将分数保持不变.但我想知道,直到我能在多大程度上修改整个过程,黑客操纵正在发送的数据几乎变得不可行.我肯定不希望得分作为客户端机器的纯文本发送,我不希望我的服务器执行复杂的解密算法.什么是最好的方式,因此实现相当大的安全性,每个汤姆迪克和哈里不破解分数...我希望有人可以提供一个很好的小方法,我可以工作...... :)谢谢

所以我的理想结果应该是 - >得到一个不受信任的一方(玩家)计算(得分)的可信结果!

-编辑-

有人告诉我一些关于在图片获取请求中隐藏数据的事情.就像,我在画布上实现这个游戏(html5).所以他在比赛结束时让我告诉我从我的服务器上取一个游戏而不是图像,他们的请求应该包含哈希分数.我并不完全理解整个过程,但如果你能解释一下,那真的很高兴!:)

coda ^所以你可以很好地掩盖请求

shouvik我该怎么做!?

coda ^您可以撰写要提交的校验和.像12312312a12313a232是你的md5,其中包含分数.像画布一样将资产带进画布

coda ^ server.com/images/md5_hash_of_score/congratulations.png

coda ^你可以通过htaccess重写服务器端

javascript database cryptography client-server scoring

13
推荐指数
2
解决办法
3626
查看次数

C多维数组中的奇怪数组语法

我知道这是真的:

x[4] == 4[x]
Run Code Online (Sandbox Code Playgroud)

多维数组的等价物是什么?以下是真的吗?

x[4][3] == 3[x[4]] == 3[4[x]]
Run Code Online (Sandbox Code Playgroud)

c arrays pointer-arithmetic multidimensional-array

12
推荐指数
1
解决办法
768
查看次数

在php中选择mysql缺少的列

我需要获得最新订单(来自我们的客户管理面板).这是我的查询:

select * 
from order 
  left join customer 
    on (customer.id = order.fk_cid) 
where date = curdate() 
order by time desc 
limit 1;
Run Code Online (Sandbox Code Playgroud)

这输出了我需要的订单和客户的一切,除了1因此这就是为什么我使用*

这是我的表格结构:

order table: 
id, fk_cid, date, time

customer table: 
id, name, lastname, street, city, zip, country, phone, email, lastlogin
Run Code Online (Sandbox Code Playgroud)

现在,在我的PHP我有:

$result = mysql_query("
    select * 
    from `order` 
    left join customer 
    on (customer.id = order.fk_cid) 
    where date = curdate() 
    order by time desc 
    limit 1");
$row = mysql_fetch_assoc($result, MYSQL_ASSOC);
Run Code Online (Sandbox Code Playgroud)

此时我的订单不正确,为什么?

php mysql sql

10
推荐指数
1
解决办法
694
查看次数

使用Django将现有的MyISAM数据库转换为InnoDB

无论如何,我可以将一个完整填充的MyISAM数据库转换为InnoDB(以某种方式创建所有外键约束,就像我从头开始运行syncdb命令一样)?

mysql django myisam innodb

8
推荐指数
2
解决办法
4506
查看次数

获取每组的前/后n条记录

我有两个表:tableA (idA, titleA)tableB (idB, idA, textB)有一个在它们之间一对多的关系.对于tableA中的每一行,我想检索tableB中对应的最后5行(由idB排序).

我试过了

SELECT * FROM tableA INNER JOIN tableB ON tableA.idA = tableB.idA LIMIT 5
Run Code Online (Sandbox Code Playgroud)

但它只是限制了INNER JOIN的全局结果,而我想限制每个不同tableA.id的结果

我怎样才能做到这一点 ?

谢谢

mysql sql inner-join greatest-n-per-group

7
推荐指数
2
解决办法
5358
查看次数