我想在这里做两件事,第一件工作正常(它将数据从一个表复制到另一个表)。然而,第二部分不是......这部分应该将值1添加到列"得分"但只有最新的结果(由排序" date_played"定义),目前我正在做的是向表中添加一个新的结果..
非常感谢。<?php
header("Cache-Control: no-cache");
date_default_timezone_set('Europe/London');
// open DB connection
require_once("DbConnect.php");
// fetch now playing song and copy ratings table
$result = $db->query(
"INSERT INTO rating(`artist`, `title`, `label`, `albumyear`,
`date_played`, `duration`, `picture`,
`filename`, `songid`)" .
"SELECT `artist`, `title`, `label`, `albumyear`, `date_played`,
`duration`, `picture`, `filename`, `songid` " .
"FROM historylist
ORDER BY `date_played` DESC
LIMIT 1 ");
$score = $db->query(
"INSERT INTO rating (`score`)".
"VALUES ('1')".
"ORDER BY `date_played` DESC LIMIT 1 ");
?>
答案 0 :(得分:-1)
UPDATE rating set `score`=`score`+1 ORDER BY `date_played` DESC LIMIT 1
<强> 修改 强>
更好的方法是获取最后插入的ID并使用它来定位行
$last_id = $db->insert_id; // assuming mysqli API
$db->query("UPDATE rating SET `score` = `score` + 1 WHERE ID=$last_id");