我的桌子上有100张活动记录--汽车。用户已决定降级他们的帐户,现在有资格只有5个活动记录。我需要将95条记录(最早的第一条)的过期日期设置为当前的时间戳。如果您包含一些cakephp提示,我如何在MySQL中做到这一点?谢谢(但我将仅感谢您提供的SQL提示)。
下面是我尝试过的内容,但我得到了一条错误消息,说明mySQL在子查询中不支持限制。
UPDATE cars
SET archived = NOW()
WHERE id NOT IN (
SELECT id
FROM cars
ORDER BY created DESC LIMIT 5
)
我有一张表(设计得很难看,但无论如何),它只由字符串组成。最糟糕的是,有一个脚本在时间上增加了记录时间。记录永远不会被删除。
我相信,MySQL将记录存储在一个随机访问文件中,我可以使用C语言获得最后或任何其他记录,因为我知道记录的最大长度,并且可以找到EOF。
当我在MySQL中执行“MySQL”之类的操作时,我会按正确的顺序得到所有的记录,因为MySQL从一开始到最后都读取这个文件。我只需要最后一个。
是否有一种方法仅使用MySQL查询获得最后一条记录(或多条记录),而不使用ORDER BY
嗯,我想我找到了一个解决方案,所以我现在的查询是
SELECT
@i:=@i+1 AS
我已经和白痴玩了几天了,渐渐地,我成功地让它真正开始执行查询。不过,我遇到了一些奇怪的事情,我搞不懂。find_many()函数只返回一条记录,它始终是数据库中的最后一条记录。例如,我通过mysqli执行以下查询,数据库中有所有16个用户:
// connection is just a singleton instance to manage DB connections
$connection->getRawInstance()->getRawConnection()->query('select * from users'));
// The
我希望将一条记录插入到表中,并检索已插入的记录的ID,该ID设置为auto_increment。但是,存在这样一种可能性:在插入和检索操作之间,另一个用户可能会将另一个数据插入到表中。这意味着,我可能检索错误的记录的ID。我如何避免这个问题在MySQL?谢谢。
我使用的查询是SELECT CustomerID FROM Customers order by CustomerID desc limit 1;
在Mysql中,我试图获得最后10条记录中最古老的记录。
为了得到最后的10个,我只需要做SELECT * FROM table ORDER BY id DESC LIMIT 10;
为了获得最古老的,我只需使用ASC命令。
我需要先按DESC顺序来得到最后的10,然后由ASC命令得到该数组的第一条记录。我将使用哪个查询来获得DESC顺序中的第10行,即10个最新行中最老的一个?
我创建了一个函数changeIp()来禁用一条记录并返回一条新记录。如你所见,我使用的是3SQL查询。
有没有更好的方法来减少SQL查询的数量?
function changeIp() {
// Find 1 record which is not disabled
$SQL = "SELECT * FROM ip WHERE disable = 0 order by id limit 1";
$qIp = mysql_query($SQL) or die(mysql_error());
$qrow = mysql_fetch_assoc($q
我使用这个查询从MySQL数据库中选择一组记录:
SELECT *
FROM table
WHERE id IN(10,14,12,11,8,7,4)
AND actief='on'
ORDER BY FIELD(id,10,14,12,11,8,7,4)
这将给我给定的ID。在这种情况下,我将得到最多7条记录。但是,如果ID '14‘有active='off’,则它可以更少。
但我需要的是一组20条记录,其中het list IN(10,14,12,11,8,7,4) 必须在结果中,如果它们也符合条件active='on'的话。如果
从mysql数据库中只删除一条记录的正确方法是什么?此查询仅用于选择一条记录。
SELECT * FROM Customers WHERE Country='Mexico' ORDER BY Country ASC LIMIT 1;
当替换select删除不起作用的.but时,上述查询将正确运行。
DELETE FROM Customers WHERE Country='Mexico' ORDER BY Country ASC LIMIT 1;
我怎么才能修好它?
在将我的sql查询导出到csv文件之后,更具体地说是从phpMyAdmin导出"CSV for Excel“格式,日期被正确地保存在引号中。例如:"1990-01-30"。分隔符是;。但是,当我将文件导入Excel时,除了最后一天最后一条记录之外,所有日期都以"/“结尾。
MySQL日期:1990-01-30
通过csv导入到Excel
Excel日期:1990-01-30/
Last Date Last Record:1952-12-24} (注意})
如何在不手动修复每个日期的情况下修复此问题?
这不是一个完整/正确的MySQL查询仅伪代码:
Select *
from Notifications as n
where n.date > (CurrentDate-10 days)
limit by 1
FOR UPDATE
状态:如果将FOR UPDATE与使用页锁或行锁的存储引擎一起使用,则查询检查的行将被写锁定,直到当前事务结束
这里是只返回一条被MySQL锁定的记录,还是它必须扫描所有记录才能找到这条记录?
我有一个疑问:
SELECT count(cp.CxID) as intSmokers
FROM CustPrimarySmoking cp
JOIN Customer c ON cp.CxID = c.CustomerID
WHERE
cp.CxID IN (SELECT CxID FROM CustPrimarySmoking WHERE CxID = cp.CxID LIMIT 1, 9999)
其思想是,计数将基于嵌套查询的结果,该查询将检索除第一条记录以外的该客户的所有记录。
然而,我得到了这个错误,我认为这个错误是非常终结的:
1235 -这个版本的MySQL还不支持“限
我试图从sql语句中创建记录分页,除了最后一条记录显示前一条记录为next,因为sql查询只返回1行而不是2。我根据第一个结果和前一个结果设置next。
数据:
苹果
香蕉
葡萄
桔黄色的
sql:
select *
from (select top 1 fruit
FROM table
where fruit > 'Banana'
order by fruit asc) as x
UNION ALL
select *
from (select top 1 fruit
FROM t
我正在尝试对多个数组变量运行查询,并在表中显示结果。
用户选择一条或多条记录,包括BOL和CONTAINER。这些选择被放在它们自己的数组中,并且它们总是相等的数量。
<?php
$bolArray = explode(',', $_POST['BOL']);
$containerArray = explode(',', $_POST['CONTAINER']);
$count = count($bolArray); // to get the total amount in the arrays
我
我通过首先创建一个临时表并用select语句中的数据填充它来查询mysql数据库表。
为了测试它,我使用了一个已知的数据库id,并测试它是否正确地获得了下一条和前一条记录。
以下是我的函数
function get_next($id){
$db = new PDO('mysql:host=localhost;dbname=world', 'root', '');
$db->query("CREATE TEMPORARY TABLE nr AS SELECT ID,Name,Population FROM city W
是否可以在一条记录中存储到另一条记录的“链接”?例如:
table USERS
id name link
-------------------------------------------------------
1 user1 [link to record with id=4 in table info]
所以,在PHP中,我可以这样做:
// connect to the database etc....
$query = "select * from users where id=1";
$result =
我希望能够从MySQL数据库的"name“列中删除从备份开始的所有记录。
在name列中,备份作业如下所示:
Backup-2854849
Backup-2852797
Backup-2852797
Backup-2326529
如何编写查询以删除"name“字段中以备份开头的所有记录。
我可以使用以下查询删除一条记录:
mysql>delete from JobInstance WHERE name LIKE ‘Backup Configuration Files-860410’;
其中JobInstance是表名,name是列名。
我怎么把它们全部删除呢?
在MySQL上,如果我运行查询
SELECT * FROM table WHERE id = '1blah'
如果有一条记录的ID为1,则查询实际上将返回该记录。我通过Workbench和PHP/Doctrine执行查询,并得到相同的结果。
为什么MySQL要这么做?这里有没有我遗漏的更通用的数据库概念?语言/客户端在这方面有什么作用吗?
最后,PostgreSQL和甲骨文的表现如何?
假设我们在带有id=1的表'orders‘中有一条记录。查询如下:
SELECT * FROM 'orders' WHERE id = 'abc1'
不会退回提到的记录。但是这个查询:
SELECT * FROM 'orders' WHERE id = '1abc'
将返回带有id=1的记录。这是因为当MySQL将字符串转换为数字时,'abc1‘变成了0,但是'1abc’变成了1。有没有一种好的方法可以让MySQL从query中严格搜索带有id的记录,即在上述两种情况下都不返回带有id=1的记录?