我需要正确的SQL命令来删除CHAR_LENGTH()超过x尝试的数量
TRUNCATE * FROM foo WHERE CHAR_LENGTH(foobar) > 100
Run Code Online (Sandbox Code Playgroud)
(也试过DELETE*)
根据w3cshools是一个有效的运算符,但它只是作为错误返回:
>#1064 - 您的SQL语法出错; 查看与您的MySQL服务器版本对应的手册,以便在第1行' FROM foo WHERE CHAR_LENGTH(foobar)> 100' 附近使用正确的语法*
注意:错误消息实际显示> as ASCII">" (没有空格或引号)不确定是否有任何相关性......
我也尝试过:
SELECT * FROM foo WHERE CHAR_LENGTH(foobar) > 100
Run Code Online (Sandbox Code Playgroud)
只是为了看看它是否可以做任何事情并且它做了预期的事情,并且显示了一个超过100的charcount.
一如往常任何帮助表示赞赏.
我正在尝试从中更新DELETE20条记录,mysql这意味着它们将是最后20条记录。那么问题是我该怎么办?我已经尝试过类似的方法,delete from MyTable limit 20但是它会删除旧的20条记录(平均前20条记录)。
我已经看到了这个问题,但是问题是在中MyTable,我没有主字段或自动增量字段。我希望我能很好地解释我的问题。请指导解决方案。
我正在尝试从数据库中删除一条记录.
代码很简单:
SELECT * FROM database.tablename
WHERE SerialNbr = x
Run Code Online (Sandbox Code Playgroud)
这给了我一个我正在寻找的记录.它具有SerialNbr以及作为其他表的外键的数字ID.我负责处理下一行代码开始运行的所有外键约束.
之后,代码后跟:
DELETE FROM tablename
WHERE SerialNbr = x
Run Code Online (Sandbox Code Playgroud)
这应该是一个我认为相对简单快速的查询.但它现在已经运行30分钟而没有结果.对外键或类似问题的任何问题都没有大喊大叫,只需花费很长时间来处理.我有什么办法可以加快这个过程吗?还是我只是在等待?删除一条记录似乎有点错误.
我正在使用Microsoft SQL Server 2008.
我有一个包含一些列和行的表.我想删除一些包含特定行的特定数据的行.
例如:表名是 EXAM

我想在输入条件字符串为C时删除第1行和第3行.
我做了声明:
DELETE FROM EXAM
WHERE Comumn2 = 'C'
Run Code Online (Sandbox Code Playgroud)
但只删除了第3行.
我需要一点帮助。如何使用 codeigniter 发送此查询?
Delete FROM friendconnect WHERE who = 5 and whos = 1 OR whos = 5 and who = 1;
Run Code Online (Sandbox Code Playgroud)
我发现只有:
$this->db->where('id', $id);
$this->db->delete('mytable');
Run Code Online (Sandbox Code Playgroud)
谢谢大家!
首先,我不知道标题是否正确,但让我告诉你我想要什么,我会按照建议更正.所以,我有2个表:
我要的是删除任何元素从table2具有ID相等subid的table1,在这里table1.name等于指定的值.
如果我有这些元素 table1
ID subid name
1 ... 1 ...... name1
2 ... 3 ...... name2
3 ... 2 ...... name1
4 ... 1 ...... name2
Run Code Online (Sandbox Code Playgroud)
和这些行 table2
ID
1
2
3
4
Run Code Online (Sandbox Code Playgroud)
table2当name = name1时,我想用ID = subid 删除那些元素,,这意味着元素1和2.
就像是:
DELETE FROM table2
WHERE ID = (SELECT subid
FROM table1
WHERE NAME = "name1")
Run Code Online (Sandbox Code Playgroud)
这可能吗?
我有两个表 A 和 B,在 B 中有一个来自 A 的外键,我想要做的是从 A 中删除它们在 B 中没有出现的所有行,我执行以下查询,但它是不工作:
DELETE from A
WHERE id_A
not in (select DISTINCT(foreign_key_of_A_in_B) from B)
Run Code Online (Sandbox Code Playgroud)
任何的想法 ?
给定表结构:
Comment
-------------
ID (PK)
ParentCommentID (FK)
Run Code Online (Sandbox Code Playgroud)
我想运行DELETE FROM Comments删除所有记录.
但是,如果在子注释之前删除父注释,则与父注释记录的关系会产生FK冲突.
要解决此问题,以反向ID顺序删除将起作用.如何以反向ID顺序删除表中的所有记录?
我正在研究一个非常简单的minichat程序(php/mysql),它显示最后10条消息.
我想添加一个按钮来删除最后一条消息(使用表单,导致php文件类似下面的文件).
我真的有一个初学者php和mysql是这样,我不明白为什么这是行不通的.
按照我的代码:
<?php
// Create connection
$cn = new mysqli("localhost","root","","test");
// Check connection
if($cn->connect_error)
{
echo "Connection failed : " . $cn->connect_error;
}
$sql = "DELETE FROM `minichat` WHERE `minichat`.`id` = ('SELECT MAX(`id`) FROM `minichat`')";
if($cn->query($sql) === TRUE){
echo "Deleted succesfully";
}
else
{
echo "Error deleting record: " . $cn->error;
}
//header('Location: connexion.php');
?>
Run Code Online (Sandbox Code Playgroud) 我想运行一个SQL查询,该查询在一定条件下会从表中删除,但还会返回要删除的数据的列,以便我可以在服务器上对其进行一些处理。
显然,我可以将它们分为两个查询,例如:
SELECT name
FROM users
WHERE username = '...';
Run Code Online (Sandbox Code Playgroud)
DELETE FROM users
WHERE username = '...';
Run Code Online (Sandbox Code Playgroud)
但是我想知道是否有一种使用参数的方法,或者可能PRINT仅发送一个查询,该查询将删除并返回要删除name的项目的字段。这是可能的还是我应该坚持两个查询?
sql-delete ×10
sql ×6
sql-server ×5
mysql ×3
php ×2
codeigniter ×1
database ×1
foreign-keys ×1
join ×1
truncate ×1