关于#sqlserver#的问题:sql删除语句报错

DELETE company.,ebill. FROM company,ebill WHERE company.id = ebill.id AND company.id = 5;
这句sql语句为啥报错了,同时删除2张表相同id对应的行。

img

innerjoin匹配,你的语法也不是sql server的语法


DELETE company, ebill
FROM company
INNER JOIN ebill ON company.id = ebill.id
WHERE company.id = 5;

该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:
根据您提供的SQL语句和截图,可以看出出现如下错误:

Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'FROM'.

这个错误一般是由于SQL语法错误引起的。

根据您提供的SQL语句,可以猜测您想要删除两个表中ID为5的记录。但是,您的SQL语句缺少表别名,并且DELETE语句的语法也有问题。

您可以尝试下面的SQL语句:

DELETE company, ebill 
FROM company 
INNER JOIN ebill ON company.id = ebill.id 
WHERE company.id = 5;

这个SQL语句使用了INNER JOIN来连接company表和ebill表,并且在WHERE子句中指定了要删除的记录的ID值为5。同时,使用了正确的语法来删除两个表中的记录。

希望这个回答能够帮助到您。


如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/1093280
  • 除此之外, 这篇博客: sqlserver:事务的影响范围中的 2. 自增id不能被回滚 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 我们在事务内插入新数据(具有自增列),之后尽管我们执行回滚操作,这个自增id值也不会重用。实验如下:

    create table test(
    	id int primary key identity,
    	name varchar(50)
    )
    -- 开启事务
    begin tran
    -- 插入一条数据
    insert into test(name) values('小明')
    -- 回滚 回滚后,插入的数据被抛弃,但已经使用的自增id被消耗掉
    rollback
    -- 再插入数据
    insert into test(name) values('a')
    -- 查询自增的id值
    select * from test
    
    /* 输出
    id          name
    ----------- -------------------
    2           a
    */
    
  • 以下回答由chatgpt基于相关博客总结生成:

    针对你提出的问题,我会分两部分进行回答。

    第一部分:删除语句报错问题。 你没有提供具体的错误信息,因此我无法给出针对性的解决方案。一般来说,删除语句报错的原因有很多种可能性,比如: - 删除语句中的条件表达式有误; - 被删除的表被其他表引用,无法删除; - 被删除的表被锁住,无法删除等等。

    如果你能提供具体的错误信息,我可以针对性地给出解决方案。

    第二部分:删除两张表中相同ID对应的行。 你可以使用两个delete语句来删除两张表中相同ID对应的行,步骤如下: 1. 首先找到两张表中相同ID的数据行,可以使用join操作实现:

    SELECT table1.id, table2.id
    FROM table1
    JOIN table2 ON table1.id = table2.id
    
    1. 确认查询结果无误后,即可使用delete语句删除这些数据行:
    DELETE FROM table1 WHERE id IN (SELECT id FROM table1 JOIN table2 ON table1.id = table2.id);
    DELETE FROM table2 WHERE id IN (SELECT id FROM table1 JOIN table2 ON table1.id = table2.id);
    

    以上是一个简单的解决方案,具体实现还需要根据你的表结构和数据量来进行微调。如果你有更多的问题或需要更加详细的解决方案,可以提供更多信息让我更好地帮助你。