执行查询时,我总是遇到此错误:
您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便在第1行'read = 1 WHERE user_id_sender = 1 AND user_id_receiver = 33 AND OR user_id_sender'附近使用正确的语法
这是我的查询:
mysql_query("UPDATE messages SET read =1 WHERE user_id_sender = $user_id AND user_id_receiver = $user_id_partner AND read = 0 OR user_id_sender = $user_id_partner AND user_id_receiver = $user_id AND read = 0 ") or die (mysql_error());
Run Code Online (Sandbox Code Playgroud)
在table(messages)具有这些列:
message_id(INT)(AI)
user_id_sender(INT)
user_id_receiver(INT)
message(TEXT)
read(INT)
Run Code Online (Sandbox Code Playgroud)
我真的不知道它为什么这样做,我看了网络但我似乎无法找到我的确切问题的答案.也许有人可以帮助我.
我有一个名为books的表,其中包含bookID,bookName,count,orderCount
我想编写一个sql查询,将所有books.orderCount更新为books.orderCount + 1.
我该怎么做executeQuery("UPDATE books....");?我遇到了语法问题.
我试图在网上搜索信息但是大多数文章都是关于INSERT或DELETE命令的,并且唯一相关的文章建议将orderCount检索到Java,更新它然后将其写回SQL.如果可能的话我宁愿避免它,因为它可能会导致严重的问题(此任务不需要锁定记录,所以我不能用它们来避免问题)
所以,我有两个表,INTERNAMENTO 和 DOC_ADMISSAO2。我想在某些条件下使用与名为 DIASADMISSAO 的表 DOC_ADMISSAO2 相同的值来更新名为 DIASINTERNAMENTO 的表 INTERNAMENTO 中的列。
update INTERNAMENTO a
set a.DIASINTERNAMENTO = (
select b.DIASADMISSAO
from DOC_ADMISSAO2 b
where (a.EPISODIO = b.EPISODIO) AND (a.DATACRIACAO <= b.DATACRIACAO));
Run Code Online (Sandbox Code Playgroud)
它给了我一个错误:
- 00000 - “单行子查询返回多于一行”
有什么建议吗?
我想出于某种目的更新我的日期列.已存储在列中的值如下所示
18-06-14
并且在更新时如果我不更新任何东西并进行调试和检查,则需要格式化为 2014-06-18T00:00:00
因此,在更新时,我在我的程序中得到如下错误.
ORA-1843:不是有效月份
以下是我将其作为更新参数发送的方式
LAUNCH_DATE = P_LAUNCH_DATE,
在P_LAUNCH_DATE我有更新的价值观.这给了我上面的错误.我该如何解决它.
UPDATE
这是我整个存储过程中使用它的方式.
PROCEDURE INSERT_INTO_RRSOC_MST
(
P_STORE_CODE IN NVARCHAR2,
P_STATE IN NVARCHAR2,
P_CITY IN NVARCHAR2,
P_SITE_STORE_FORMAT IN NVARCHAR2,
P_STORE_SITENAME IN NVARCHAR2,
P_STORE_SITENAME_LANDL_1 IN NVARCHAR2,
P_STORE_SITENAME_LANDL_2 IN NVARCHAR2,
P_STORE_ASST_MANAGER_NAME IN NVARCHAR2,
P_STORE_ASST_MANAGER_MOBNO IN NVARCHAR2,
P_STORE_MANAGER_NAME IN NVARCHAR2,
P_MANAGER_MOBNO IN NVARCHAR2,
P_EMP_NEAREST_STORE IN NVARCHAR2,
P_EMP_NEAREST_STORE_MOBNO IN NVARCHAR2,
P_SUPERVISOR_NAME IN NVARCHAR2,
P_SUPERVISOR_MOBNO IN NVARCHAR2,
P_SECURITY_SUP_NAME_STORE IN NVARCHAR2,
P_SECURITY_SUP_MOBNO_STORE IN NVARCHAR2,
P_NAME_ALIGNED_LPO IN NVARCHAR2,
P_LPO_MOBILENO IN NVARCHAR2,
P_ALPM_ALPO_NAME IN NVARCHAR2,
P_ALPM_ALPO_MOBNO IN …Run Code Online (Sandbox Code Playgroud) 这是我在 Stack Overflow 上的第一篇文章。我知道这个问题之前已经被问过很多次了。我经历了很多答案,尝试了所有答案(显然正确的方法除外),但不知道该尝试什么了。
我有一个 SQL 表,其中每一行都有一个“编辑”按钮。单击它时,我将所选行的 id 传递给edit.php. 在那里,我得到它并根据用户从表单输入的 id 更新给定的行。第一列是 id ,它被设置为AUTO_INCREMENT。
附带说明一下,无论我使用WHERE id=$id";还是使用,我都会遇到相同的错误WHERE id='$id'";
我认为最接近正确方法的代码如下,并在代码下方生成错误消息:
<html>
<title>
Video Archiv - New
</title>
<body>
<?php
include("connect.php");
$id=$_GET['id'];
echo "Details von Video #$id editieren:<br /><br />";
if(isset($_POST['update']))
{
$sql = "UPDATE VideoArchiv
SET ('".$_POST["titel"]."','".$_POST["schauspieler"]."')
WHERE id=$id";
$result = mysqli_query($connect,$sql);
if (mysqli_query($connect,$sql) === TRUE)
{
echo "Record updated successfully";
}
else
{
echo "Error updating record: " . $connect->error;
}
}
?>
<form …Run Code Online (Sandbox Code Playgroud) 我收到语法错误“关键字'left'附近的语法不正确”,但我不知道我做错了什么。我正在尝试运行更新查询以将法国地址设置为 5。我错过了什么?
UPDATE
Persons p
left join States s on p.StateID = p.pkState
SET
p.International = 5
WHERE
s.CountryRegionCodeID = 'FR';
Run Code Online (Sandbox Code Playgroud) 在SQL Server中,如果我有两个表,每个表有(25)列,如何通过SELECT更新表?
查询是:
UPDATE
Table1
SET
Table1.col1 = Table2.col1,
Table1.col2 = Table2.col2,
...
...
...
Table1.col25 = Table2.col25,
FROM
Table1
INNER JOIN
Table2
ON
Table1.id = Table2.id
Run Code Online (Sandbox Code Playgroud)
但有没有办法更新所有列而不写上面的例子所有25列?
我正在使用PHP更新数据库中的记录.这个字符串中有一些单引号.我想知道如何使用sql update在数据库中更新此字符串.
PHP代码:
$content = $_POST['content'];
$query = "UPDATE about SET content = '" . $content . "' WHERE about_id = 1";
$result = mysql_query($query) or die(mysql_error());
Run Code Online (Sandbox Code Playgroud)
例如,内容是:
嗨,我叫Sam,我住在荷兰.我24岁,我在'DiscoFever'工作.
由于文中有许多单引号,我无法更新我的记录.解决这个问题的方法有哪些
我必须更新/替换表中包含 137 条记录的列之一中的一部分字符串。
要求:更新前,列具有如下值:
home/user/tarun/attachments/a.jpg
Run Code Online (Sandbox Code Playgroud)
更新后,列值应如下所示:
home/common/attachments/a.jpg
Run Code Online (Sandbox Code Playgroud)
因此,应该更新字符串的一部分。如何为它编写 PL/SQL 脚本?
我有一个场景,我需要根据产品确定每个客户/业务组合的保证金类型 - 这意味着客户/业务组合的保证金最高的产品应被标识为“高”保证金类型。具有相同组合的所有其他产品应标识为低。所以,我需要一个 SQL 来相应地更新列 MARGIN_TYPE。
我尝试做这样的事情,但不明白如何按客户/业务组合对其进行分组。任何帮助将不胜感激。谢谢!
UPDATE ORDER_TABLE
SET MARGIN_TYPE = 'High'
where MARGIN = (SELECT MARGIN FROM (SELECT MAX(MARGIN) FROM ORDER_TABLE) AS
MARGIN)
Run Code Online (Sandbox Code Playgroud)
private function update($fields)
{
$query = 'UPDATE`'.$this->table.'`SET';
foreach ($fields as $key => $value) {
$query .= '`' . $key . '` = :'. $key . ',';
}
$query = rtrim($query, ',');
$query .= ' WHERE `'. $this->primaryKey . '` = :primaryKey';
$fields['primaryKey'] = $fields['id'];
$fields = $this->processDates($fields);
$this->query($query,$fields);
}
Run Code Online (Sandbox Code Playgroud)
我想让更新方法和这些代码工作。但是当我改变
$query .= ' WHERE `'. $this->primaryKey . '` = :primaryKey';
Run Code Online (Sandbox Code Playgroud)
进入
$query .= 'WHERE `'. $this->primaryKey . '` = :primaryKey';
Run Code Online (Sandbox Code Playgroud)
,那么它不起作用。我想唯一的区别是 WHERE 前面的空白。
我真的不明白为什么它不起作用。
public void insert(Post post){
String insertString = "INSERT INTO posts(id, title) VALUES(" + post.getId() + ", \"" + post.getTitle() + "\" + ");";
jdbcTemplate.batchUpdate(insertString);
jdbcTemplate.update(insertString);
}
Run Code Online (Sandbox Code Playgroud)
应该使用哪一个,为什么?
我想更新信息.当我在代码中使用以下代码时,我的代码出错了:
if(isset($_POST['submit'])){
$sql = "UPDATE `food`.`food_item`
SET `food_name` = '$_POST[food_name]',
`food_price` = '$_POST[food_price]',
`food_cat` = '$_POST[food_category]'
WHERE `food_item`.`id` ='$_POST[id]';";
$result = mysql_query($sql) or die("query not");
header("Location: product_info.php") ;
}
Run Code Online (Sandbox Code Playgroud) sql-update ×13
sql ×8
php ×5
mysql ×4
oracle ×3
sql-server ×3
java ×2
mysqli ×2
plsql ×2
dml ×1
jdbc ×1
join ×1
string ×1
t-sql ×1
where-clause ×1