标签: sql-delete

从表中删除重复记录 - SQL查询

我只需要从表中删除重复行,就像我在表中有3个重复行一样,我的查询将从3个重复行中删除2行.

我怎么能得到这个?请帮我.

sql database sql-server sql-delete

6
推荐指数
1
解决办法
2万
查看次数

mysql删除加入?

我可以用

select * from sent_txts s 
LEFT JOIN received_txts r ON s.msg_link_id = r.id 
WHERE r.action_id = 6;
Run Code Online (Sandbox Code Playgroud)

顶部选择匹配的行,

如何编写查询以删除双方的匹配行?

就像是

delete sent_txts s 
LEFT JOIN received_txts r ON s.msg_link_id = r.id 
WHERE r.action_id = 6;
Run Code Online (Sandbox Code Playgroud)

mysql join sql-delete

6
推荐指数
1
解决办法
906
查看次数

SQL删除命令?

我在SQL中遇到一个带有意外结果的简单DELETE语句时出现问题,它似乎将该单词添加到列表中.一定是傻事!但我看不到它,尝试了几种不同的方式.所有相同的结果都很混乱.

public void IncludeWord(string word)
{
    // Add selected word to exclude list
    SqlConnection conn = new SqlConnection();
    String ConnectionString = "Data Source = dev\\SQLEXPRESS ;" + "Initial Catalog=sml;" + "User id=** ;" + "Password =*;" + "Trusted_Connection=No";

    using (SqlConnection sc = new SqlConnection(ConnectionString))
    {
        try
        {
            sc.Open();

            SqlCommand Command = new SqlCommand(
               "DELETE FROM excludes WHERE word='@word'" +
                 conn);


           Command.Parameters.AddWithValue("@word", word);  
            Command.ExecuteNonQuery();
        }
        catch (Exception e)
        {
            Box.Text = "SQL error" + e;
        }
        finally
        {
           sc.Close();
        }
        ExcludeTxtbox.Text …
Run Code Online (Sandbox Code Playgroud)

c# sql sql-delete

6
推荐指数
1
解决办法
6万
查看次数

MySQL触发器 - 更新后删除

对于一个项目中的测试用例,如果字段之一满足条件之一,我必须删除记录。最简单的似乎是简单的触发器:

delimiter $$
drop trigger w_leb_go $$

create trigger w_leb_go after update on test
for each row
begin
set @stat=NEW.res;
set @id=NEW.id;
IF @stat=3 THEN
  delete from test where id=@id;
END IF;
end$$

delimiter ;
Run Code Online (Sandbox Code Playgroud)

但正如我怀疑有错误:

更新测试集 res=3,其中 id=1;
错误 1442 (HY000):无法更新存储函数/触发器中的表“test”,因为它已被调用此存储函数/触发器的语句使用。

仅通过访问数据库还可以如何完成?我的意思是我不应该更改经过测试的应用程序。

mysql sql triggers sql-update sql-delete

6
推荐指数
1
解决办法
1万
查看次数

SQLite,检查TEXT字段中是否有任何字母字符

好的,所以我有一个巨大的条目列表,并在其中一个列中(为简单起见,我们称之为num,这是一个数字,类似于123456780000(它们的长度和格式都相同),但有时会有类似的字段这个

12345678E000 
or 
12345678H000
Run Code Online (Sandbox Code Playgroud)

现在,我需要删除num列不完全是数字的所有行.num的类型是TEXT,而不是INTEGER.所以上面的例子应该删除,而不123456780000应该删除.

我尝试了两种解决方案,其中一种可以工作,但是不够优雅和杂乱,另一种根本不起作用.

我尝试的第一件事是

DELETE FROM MY_TABLE WHERE abs(num) == 0.0
Run Code Online (Sandbox Code Playgroud)

因为根据文档,如果给出TEXT值,abs(X)将返回0.0,并且不可转换为实数.所以我认为应该让所有"仅限数字"通过并删除带有字符的那些.但它没有做任何事情,它甚至不删除任一行.

我接下来要做的就是

DELETE FROM MY_TABLE WHERE num LIKE "%A%" OR "%B%" OR "%C%"
Run Code Online (Sandbox Code Playgroud)

这似乎工作,但数据库很大,我不知道哪些字符可以出现,虽然我可以只"%D%" OR "%E%" OR "%F%" OR ...用整个字母表,这感觉不雅和杂乱.我实际上想了解一下SQLite语言.

最后,我的问题是:如何以一种简单的方式解决这个问题?也许我的abs(X)解决方案有问题,或者有其他我不知道/想到的方法?

提前致谢.

编辑:根据我试过的评论SELECT abs(num) FROM MY_TABLE WHERE num like '%A%' ,它返回以下内容

12345678.0
Run Code Online (Sandbox Code Playgroud)

真奇怪.它似乎已经将字母出现的数字分开了.该文件声称如果它无法将其转换为数字,它将返回0.0.嗯..

sql sqlite sql-delete

6
推荐指数
1
解决办法
4273
查看次数

如何删除没有SQL的所有行

是否有其他方法可以删除数据库表的所有行而无需编写SQL删除语句?

List<Item> items = Ebean.find(Item.class).findList();
Ebean.delete(items);
Run Code Online (Sandbox Code Playgroud)

有没有像

Ebean.deleteAll(Item.class)
Run Code Online (Sandbox Code Playgroud)

在Ebean API?

java sql ebean sql-delete

6
推荐指数
1
解决办法
1327
查看次数

尝试删除产品时magento出错

当我尝试删除Magento中的产品时,我得到了下一个错误,我不知道问题出在哪里.

SQLSTATE [22003]:数值超出范围:1690 BIGINT UNSIGNED值超出范围

product magento outofrangeexception mysql-error-1064 sql-delete

6
推荐指数
2
解决办法
5025
查看次数

删除INTERSECT

我有两个表,列数相同,没有主键(我知道,这不是我的错).现在我需要删除表B中存在的表A中的所有行(它们相等,每个行有30列).

我认为最直接的方法是做一个INNER JOIN并解决我的问题.但是,为所有列编写条件(担心NULL)并不优雅(可能因为我的表也不优雅).

我想用INTERSECT.我不知道该怎么办?这是我的第一个问题:

我试过(SQL Fiddle):

declare @A table (value int, username varchar(20))
declare @B table (value int, username varchar(20))

insert into @A values (1, 'User 1'), (2, 'User 2'), (3, 'User 3'), (4, 'User 4')
insert into @B values (2, 'User 2'), (4, 'User 4'), (5, 'User 5')

DELETE @A 
    FROM (SELECT * FROM @A INTERSECT SELECT * from @B) A
Run Code Online (Sandbox Code Playgroud)

但是所有行都从表中删除了@A.

这让我想到了第二个问题:为什么命令DELETE @A FROM @B会从表中删除所有行@A …

sql sql-server intersect sql-server-2012 sql-delete

6
推荐指数
1
解决办法
4130
查看次数

删除除100个最新行以外的所有行

我正在使用MS SQL数据库,并且有一个名为“ Logs”的表,如下所示:

在此处输入图片说明

记录在这里一个接一个地添加,因此表在几天/几周后变得很大。

我需要定期进行的是一些清理工作。即我需要一个SQL查询,该查询将删除较旧的行并仅在此表中保留最近的100条记录。

我同意最好让它“删除早于some_date的记录” ...以前是这样的,但是客户希望它与众不同:(所以...在这里。

顺便说一句:我对人们对此问题持否定态度感到失望。有什么问题吗?... 想像一下:这个问题已经产生了4个答案!!!……一个人决定对此否定!现在我真的不知道该怎么想...周围的人很奇怪:(

sql t-sql sql-server datetime sql-delete

6
推荐指数
1
解决办法
4754
查看次数

从用户表中删除行PHP MYSQL

我想在用户点击按钮时从我的用户表中删除一行,用户需要登录才能删除自己的帐户.

我已经回显了$ user_id,它显示了'4',这是登录用户的正确ID,所以user_id = $ user_id

这是我拥有按钮的页面,我想删除数据库中的用户行

<?php
include_once 'dbconfig.php';
if(!$user->is_loggedin())
{
 $user->redirect('index.php');
}
$user_id = $_SESSION['user_session'];

     if(isset($_POST['leave'])){
    $stmt = $DB_con->prepare("DELETE FROM users WHERE user_id = $user_id ");
         $stmt->execute();
    }
$stmt = $DB_con->prepare("SELECT * FROM users WHERE user_id=:user_id");
$stmt->execute(array(":user_id"=>$user_id));
$userRow=$stmt->fetch(PDO::FETCH_ASSOC);
?>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css" type="text/css"  />
<link rel="stylesheet" href="style.css" type="text/css"  />
<title>Welcome - <?php print($userRow['user_email']); ?></title>
</head>

<body>

<div class="header">

    <div class="right">
     <label><a href="logout.php?logout=true"><i class="glyphicon glyphicon-log-out"></i> logout</a></label>
    </div>
</div>
<div class="content">

Welcome  <?php print($userRow['user_name']); …
Run Code Online (Sandbox Code Playgroud)

php mysql sql-delete

6
推荐指数
1
解决办法
813
查看次数