我的桌子上有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
)
在开始之前,我要说明我对PHP和MySQL还不太熟悉。我正在尝试将会话变量写入MySQL数据库。在我能够使用HTML表单提交第一条记录之后,我认为我已经正确地执行了这项操作,但我无法提交其他记录。我的数据库中只显示一条记录,任何提交新记录的尝试都不会出错,而只是不会出现在我的数据库中。
我的表单跨越多个页面,因此我将包含PHP代码:
<?php
$con = mysql_connect("localhost","user","mypassword");
if (!$con)
{
die('Could not c
这不是一个完整/正确的MySQL查询仅伪代码:
Select *
from Notifications as n
where n.date > (CurrentDate-10 days)
limit by 1
FOR UPDATE
状态:如果将FOR UPDATE与使用页锁或行锁的存储引擎一起使用,则查询检查的行将被写锁定,直到当前事务结束
这里是只返回一条被MySQL锁定的记录,还是它必须扫描所有记录才能找到这条记录?
我有一个问题,如果我只想通过一条命令更新2条记录,不可能这样做吗?
mysql_query("UPDATE damacaicheck SET trimresult = '$trim' where date = '$Current' and date = '$yesterdaydate'");
或
mysql_query("UPDATE damacaicheck SET trimresult = '$trim' where date in ('$Current','$yesterda
如何在删除多个records.My代码后重新排列多个记录删除一个记录并重新排列所有记录,但当我删除多个记录时,它不能重新洗牌。
当我们删除一条记录而不是多条记录时,这个代码很有效,
$sql="delete from $user where id='$id'";
$result=mysql_query($sql,$connection) or die(mysql_error());
$reorder = "update $user set id=id-1 where id > $id";
$catch = mysql_query($reo
我创建了一个函数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数据库中的股票,但我只更新了xml中的最后一条记录,我正在通过一条正确的隧道寻找,希望有一双新的眼睛来看它。 import requests
import xml.etree.ElementTree as ET
from lxml import etree
from getpass import getpass
from mysql.connector import connect, Error
r = requests.get('http://api.edc.nl/xml/eg_xml_feed_stock.xml')
root =
mysql_query("update users set balance=balance+'$pwbalance'-'$totalprice' where memberid='$memberid' and (balance+'$pwbalance'-'$totalprice')>=0")or die(mysql_error());
$count=mysql_affected_rows();
当我回显$pwbalance时,它是40.00;当我回显$totalprice时,它是40;所以应该有
我有一个MySQL 5服务器和一个表,表中的id字段(主键)有一个自动增量。现在,我想在两者之间添加一条记录,因此我必须将所有其他ids加1。这是我尝试过的:
UPDATE myTable SET id=id+1 WHERE id >= 53
这不起作用,因为例如,id = 52的记录已经存在。我该怎么做呢?如果他从最后一个条目开始,并进行更新,我认为应该会起作用。但是怎么做呢?
我有一个包含4列的MySQL表:
personId(int)
dateX(date)
ratio(decimal 11,2)
closed(boolean, e.g. tintyint(1)).
personId和dateX是主键。3第一列是真正在使用的那些,第四列只是作为一个指示器,这个记录不应该再被修改,因为这个值已经被用于一些计算,因此它应该保持不变。我使用的是这个查询:
INSERT INTO ratioTable(personId,dateX,ratio) VALUES (:personId,:dateX,:ratio) ON DUPLICATE KE
我正试图在我的Rails控制台中运行以下代码:
ActiveRecord::Base.connection.execute "DELETE FROM recommendations WHERE place_id=4000000001267 AND recommender_id=2728498;UPDATE IGNORE recommendations SET place_id=4000000001267 WHERE place_id=4000000564630 AND recommender_id=2728498;"
它只是为了合并而删除一条旧记录并重写另一条记录。
Rails
UPDATE mytable SET this = 'this' AND that = 'that'
WHERE MATCH (items) AGAINST ('item5')
问题是,此查询将对找到的每个匹配项执行UPDATE,而不是更新匹配的第一行。
向查询添加LIMIT 0, 1会导致MySQL语法错误。有没有办法对使用全文查询找到的第一条记录执行此更新?
我现在有一个代码,它将转到下一条记录,但在表单中,它不会显示下一条记录,只显示0。您可以在表中看到代码正在工作,并转到下一个记录,看到数量下降。另一个问题是,当切换到下一条记录时,当一条记录达到0时,当我需要转到下一条记录时,我的.Update上会出现突出显示的错误。它没有说一个错误,我只是假设当它被突出显示时,问题就来自于此。这基本上就像代码没有重新启动一样。下面是我的代码: Private Sub ItemCode_Dirty(Cancel As Integer)
Dim Db As DAO.Database
Dim rs As DAO.Recordset
Set Db = Curre
我正在和Winforms,MySQL和C#一起做一个考勤项目。
在这方面,我想在一个表中更新“总缺勤”和“总在场”。我为此写了代码:
int p = 0;
int a = 0;
string sno = "";
MySqlDataReader Reader;
command.CommandText = "select * from attendance_monthly_rpt";
connection.Open();
Reader = command.ExecuteReader();
while (Reader.Read())
{
为了简化,我有一个表,其中包含一个主键和一个排序列:
TABLE P
----------
id order
1 1
2 2
3 3
假设我想“上移”id为2的记录,即在该记录和顺序为1的记录之间交换顺序值,从而获得:
TABLE P
----------
id order
1 2
2 1
3 3
在MySQL中,我经常这样做:
UPDATE
P AS P1,
P AS P2
WHERE
P1.id = some_id
AND P2.order = P1.order -1;
在Oracle中,这是行不通的。
编辑以澄清,在i
我正在尝试选择一条票数最多的记录。每条记录都有一个id,即MySQL数据库中的上票数(int)和下票数(int)。
我知道基本的update,select,insert查询,但我不确定如何形成一个查询,如下所示:
SELECT *
FROM topics
WHERE MAX(topic.upvotes - topic.downvotes)
我已经尝试在查询中使用GETDATE()函数,同时也对具有默认值的表属性使用UPDATE。它可以很好地处理我手动输入到DELETED_RECORDS表中的记录,但是由于实际删除而移入的任何记录的日期都是1906年。我不知道是怎么回事
ALTER TRIGGER [dbo].[Backup_TT_Deleted_Records]
ON [dbo].[tblLLS_TT]
FOR DELETE
AS
BEGIN
INSERT INTO dbo.tblLLS_TT_DELETED_RECORDS
SELECT *
FROM Deleted
我注意到在jQuery中.each()循环中使用AJAX时出现了问题。在脚本执行时,只更新我数据库中的第一条记录。
这是我的剧本:
function save(){
var _userTypeId;
var _userTypeName;
var _isDeleted;
var request;
$("tr.recUserType").each(function(){
$this = $(this);
如果记录不存在,我需要向表中插入一条记录,如果记录存在于表中,则需要更新记录。当然,我可以写: p-code:
SELECT * FROM table1 WHERE id='abc' by JDBC
if(exists)
UPDATE table1 SET ... WHERE id='abc' by JDBC;
else
INSERT INTO table1... by JDBC;
然而,我不认为代码是优雅的。或者,我也可以这样写: p-code:
int row = Statement.executeUpdate("INSERT INTO