我尝试计算有多少条记录将DELETE
命令之后被删除:计数删除的记录后,DELETE
SELECT COUNT(*) FROM BOXES
WHERE EXISTS (
DELETE FROM BOXES WHERE product='25043620' AND Order='0846'
)
我得到一个语法错误附近删除,但我想不通这是它。
我尝试计算有多少条记录将DELETE
命令之后被删除:计数删除的记录后,DELETE
SELECT COUNT(*) FROM BOXES
WHERE EXISTS (
DELETE FROM BOXES WHERE product='25043620' AND Order='0846'
)
我得到一个语法错误附近删除,但我想不通这是它。
后
DELETE FROM BOXES WHERE product='25043620' AND Order='0846'
问你的数据库变化在于:
SELECT changes()
,你会得到了多少行删除。
我不认为你可以结合计数和删除。单独做他们。
这里的和例如: -
示例 - 使用SQL EXISTS子句
您还可以执行更复杂的删除。
您可能希望根据另一个 表中的值删除一个表中的记录。由于在执行删除时无法在SQL FROM子句 中列出多个表,因此可以使用SQL EXISTS子句。
例如:
DELETE FROM suppliers WHERE EXISTS (SELECT customers.customer_name FROM customers WHERE customers.customer_id = suppliers.supplier_id AND customers.customer_name = 'IBM');
这DELETE语句例子删除供应商 表,其中有在客户表,它的名字是 IBM的记录,以及CUSTOMER_ID所有记录是一样的supplier_id。
如果您希望确定要删除的行数,您可以在执行 删除之前运行以下SQL SELECT语句。
SELECT COUNT(*) FROM suppliers WHERE EXISTS (SELECT customers.customer_name FROM customers WHERE customers.customer_id = suppliers.supplier_id AND customers.customer_name = 'IBM');
你可以尝试把语句转换成一个循环的说法作为循环条件,然后才让循环计数为你为它增加。
https://www.sqlite.org/c3ref/changes.html:*该函数返回最近完成的INSERT,UPDATE或DELETE语句修改,插入或删除的行数* –