什么delete from table where NULL = NULL意思?
我需要删除SQLite表中的行,其中行ID在另一个表中不存在.SELECT语句返回正确的行:
SELECT * FROM cache LEFT JOIN main ON cache.id=main.id WHERE main.id IS NULL;
Run Code Online (Sandbox Code Playgroud)
但是,delete语句会从SQLIte生成错误:
DELETE FROM cache LEFT JOIN main ON cache.id=main.id WHERE main.id IS NULL;
Run Code Online (Sandbox Code Playgroud)
错误是:SQLite错误1 - 接近"左":语法错误.我可以使用另一种语法吗?
我有这些表:
event (evt_id, evt_code, reg_id) magnitude (mag_id, evt_id, value) trace (trace_id, pt_id) point (pt_id, evt_id)
我想删除所有与之相关的表中的所有行evt_id=1139.
我该怎么做?
我想删除我从SQLite数据库表中输入的所有行.表名是tbltask.我试图删除表并从表中删除*,但那些给了我运行时错误.我想在Button OnClickListner事件中触发此事件.
以下代码是我尝试的:
String delete = "DELETE FROM "+DATABASE_TABLE;
db.rawQuery(delete, null);
db.delete(DATABASE_TABLE, null, null);
Run Code Online (Sandbox Code Playgroud)
logcat的:
11-15 17:45:04.660: DEBUG/AndroidRuntime(300): Shutting down VM
11-15 17:45:04.660: WARN/dalvikvm(300): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
11-15 17:45:04.710: ERROR/AndroidRuntime(300): FATAL EXCEPTION: main
11-15 17:45:04.710: ERROR/AndroidRuntime(300): java.lang.NullPointerException
11-15 17:45:04.710: ERROR/AndroidRuntime(300): at database.com.android.DatabaseAccess.drop(DatabaseAccess.java:258)
11-15 17:45:04.710: ERROR/AndroidRuntime(300): at com.android.ExtraActivity$3$1.onClick(ExtraActivity.java:61)
11-15 17:45:04.710: ERROR/AndroidRuntime(300): at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:158)
11-15 17:45:04.710: ERROR/AndroidRuntime(300): at android.os.Handler.dispatchMessage(Handler.java:99)
11-15 17:45:04.710: ERROR/AndroidRuntime(300): at android.os.Looper.loop(Looper.java:123)
11-15 17:45:04.710: ERROR/AndroidRuntime(300): at android.app.ActivityThread.main(ActivityThread.java:4627)
11-15 17:45:04.710: ERROR/AndroidRuntime(300): at java.lang.reflect.Method.invokeNative(Native Method)
11-15 …Run Code Online (Sandbox Code Playgroud) 我想创建一个用户单击按钮的应用程序,并清除SQLite数据库.这是我到目前为止所尝试的:
db.delete(TABLE_NAME, null, null);
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
任何人都知道有任何计划在Google Bigquery的表格中添加对删除部分数据的支持吗?我们现在面临的问题是我们正在使用它来分析我们收集的数据点.我们希望在过去X天的数据中运行查询,但是在最后X天的数据之后,我们不再需要将数据存储在BigQuery中.
目前我们可以想到删除数据的唯一方法是删除整个数据表,然后重新创建并加载X天数据.这虽然要求我们将数据存储在每日CSV文件中,这不是最佳的.
有关如何处理此问题或在不久的将来是否有删除行查询的任何建议?
是否有一个SQL命令来删除数据库表的前X行?
我有一个包含一些信息但没有id或自动递增值的数据库表,以及一个处理该表的前X行的程序.之后需要删除这些X行.所以标准查询是:
DELETE FROM table WHERE something = value;
Run Code Online (Sandbox Code Playgroud)
那么,有没有办法建立一个像这样的查询:
DELETE FROM table WHERE rownumber <= X;
Run Code Online (Sandbox Code Playgroud)
我试过这个命令,但数据库没有任何反应..你有什么线索吗?
我试图清理一个表,但没有摆脱表的实际结构.我有一个id自动递增的列; 我不需要保留ID号,但我确实需要它来保持其自动递增特性.我发现删除和截断,但我担心其中一个将完全删除整个表,使未来的插入命令无用.
如何从表中删除所有记录以便插入新数据?
我想从多个表中删除.这是我的表格的样子
A_has_B ---- B ---- C_has_B
(many to many) (many to many)
Run Code Online (Sandbox Code Playgroud)
我正在尝试删除A_has_B,B和C_has_B中的所有行,给定B中记录的ID.我使用带有innodb存储引擎的MySQL,其中为A_has_B定义了外键,而C_has_B引用了B中的ID.
我试图像这样执行删除:
DELETE A_has_B.*, C_has_B.*, B.*
FROM
A
join
B
on (B.B_id = A.B_id)
join
C
on (C.B_id = B.B_id)
where B.B_id IN(1,2, 4);
Run Code Online (Sandbox Code Playgroud)
问题是,当我执行查询时,mysql抱怨:
Error Code: 1451. Cannot delete or update a parent row: a foreign key constraint fails (`db`.`C`, CONSTRAINT `fk_C` FOREIGN KEY (`B_id`) REFERENCES `B` (`B_id`) ON DELETE NO ACTION ON UPDATE NO)
Run Code Online (Sandbox Code Playgroud)
我该怎么办呢?
对于安全性敏感的设计,我想禁用DELETEs某些表.
所述DELETE应该仅设置一个deleted上的行(这将是然后在视图,这将被本应用层可以使用可见)标志.
据我所知,规则会生成其他查询 - 因此规则无法抑制原始查询.
举例说明带触发器的玩具示例(尚未测试):
-- data in this table should be 'undeletable'
CREATE table article (
id serial,
content text not null,
deleted boolean default false
)
-- some view that would only show articles, that are NOT deleted
...
-- toy trigger (not tested)
CREATE OR REPLACE FUNCTION suppress_article_delete()
RETURNS TRIGGER AS $sad$
BEGIN
IF (TG_OP = 'DELETE') THEN
UPDATE article SELECT id, content, TRUE;
-- NEW or NULL?? …Run Code Online (Sandbox Code Playgroud) sql-delete ×10
mysql ×4
sql ×3
sqlite ×3
android ×2
foreign-keys ×2
postgresql ×2
audit ×1
delete-row ×1
left-join ×1
null ×1
plpgsql ×1
sql-drop ×1
triggers ×1