我正在处理一个请求,我必须创建一个表来插入一些数据.所以,显然我将首先拥有一个删除表.在创建st之前 但是当我第一次运行它时(在创建表之前),它会弹出一个错误,表示没有创建表,然后从这里创建表和goe son.所以每次第一次运行我的代码时,它都会在drop table st中弹出这个错误.有没有人有更好的主意?
像"如果表存在然后删除其他创建表"之类的东西
我不知道我们将如何在sql中执行此操作
删除表table_name; -------------->这里它第一次抛出错误表示表不存在.
创建表table_name
{等等};
顺便说一句,我正在研究Teradata,但简单的SQL逻辑会有所帮助.
对不起文本家伙的墙,但这个需要expliaining,太多的代码发布...
我在需要数据输入的方法中将固定宽度文件导入访问.我使用transferText将文件导入两个规范(一个是全局的,另一个是特殊情况).
我有一个函数,它使用DAO循环遍历TableDefs中的所有Field对象,以构建包含AutoIncrement PK的重复表,以便我能够编辑这些记录.我用INSERT INTO将数据推送到该表中.
效果很好.发现错误,用户进入数据输入以手动纠正它们,这些节拍通过筛选400个字符行并按照预期的方式重新组织所有内容.效果很好!
问题:当数据条目发生变化时,会按下一个提交按钮,该按钮调用表单外部模块内的函数.它关闭数据输入表单并将信息推回到原始表减去自动增量PK,并且被支持DROP复制表的ID,并生成一个新的再次搜索错误...
它推回原来很好,但它不会DROP ID表.总是返回给我一条消息,表明该表已被锁定.我注意到表被无限制地锁定,直到所有函数/子退出.在任何时候单步执行代码我都无法手动删除它,一旦执行完成,我就可以删除它.
我假设因为我通过表单中的命令调用它,所以在所有代码完成并且表单终止可以被调用并执行其操作之前不会释放锁.有什么想法吗?是的,这是非常野蛮但它运作良好,我只需要能够撕掉地球上的另一张桌子,这样我就可以重新制作更新的副本......
在最糟糕的情况下,我可以让用户关闭窗体并点击主窗体中的另一个按钮,但这在设计时考虑到了用户的合规性.然而,这现在我全神贯注,并希望至少找到一个解决方案,即使它不是最佳解决方案.
-编辑-
在这个问题中使用了两种形式
FormA (Role: Load in and search for problems)
Examine button is pressed that:
- Uses TextTransfer based on predefined specs into tempExtract to
import the file
- DAO fires off on the Fields collection in tableDefs for
tempExtract, creates new table tempExtractID
- Performs searches through the file to find errors. Errors are saved to
a table Problem_t. Table contains Problem_ID (Set from the ID field …Run Code Online (Sandbox Code Playgroud) 当我在Cassandra中删除一个表时,它将永远接近.
从我所看到的,这是因为它首先创建表的快照.但是,我不明白的是,他们说快照是通过创建写入时写入的硬链接来完成的.那么......为什么还需要那么久?创建硬链接后,您删除原始文件,这应该是一瞬间,对吧?
在我的虚拟机甚至我的主计算机上,删除一个表可能需要几分钟!
建议使用代替. 但是,truncate table 不支持该子句。另一种方法是重新创建,但需要 DDL。如果只有表存在的话有什么办法吗?TRUNCATE TABLEDELETEIF EXISTSDROP TABLETRUNCATE TABLE
我似乎无法弄清楚为什么会出现以下错误:
Msg 2714, Level 16, State 5, Line 56
There is already an object named 'TPatients' in the database.
Msg 1750, Level 16, State 1, Line 56
Could not create constraint or index. See previous errors.
Run Code Online (Sandbox Code Playgroud)
下面是我的 Drop Table 和 Create Table SQL 语句。每当我执行时,它都会说 TPatients 已经存在,但是我在对象资源管理器中没有看到它。我尝试移动删除表语句,但无法使其工作。
-- --------------------------------------------------------------------------------
-- Step #1 : Drop tables
-- --------------------------------------------------------------------------------
IF OBJECT_ID ('TAppointments') IS NOT NULL DROP TABLE TAppointments
IF OBJECT_ID ('TPatients') IS NOT NULL DROP TABLE TPatients
IF OBJECT_ID ('TDoctors') IS NOT NULL …Run Code Online (Sandbox Code Playgroud) 我有一个SQL服务器2005.在该服务器中我有3个数据库 - > a,b,c.
如果我想删除表格
我正在寻找一种方法来删除Rails中的表并重新开始并遇到了这样的答案:Rails数据库迁移 - 如何删除表?
但是,当我运行时,drop_table :examples我收到以下错误:
-bash: drop_table: command not found
Run Code Online (Sandbox Code Playgroud)
这是我的create_examples迁移文件:
def self.down
drop_table :examples
end
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助指导我解决这个问题并让我了解我做错了什么吗?我需要修复它,因为此特定迁移阻止执行rake db:migrate,生成以下错误:
== CreateExamples: migrating ====================================================
-- create_table(:examples)
rake aborted!
An error has occurred, this and all later migrations canceled:
SQLite3::SQLException: table "examples" already exists: CREATE TABLE "examples" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "content" varchar(255), "user_id" integer, "created_at" datetime, "updated_at" datetime)
Run Code Online (Sandbox Code Playgroud)
谢谢!(如果我需要提供更多代码,请告诉我.)
我有一个表backup,我已经应用了一个触发器upd_trig.现在,我放弃了我的表,然后检查了所有关联的触发器/索引是否也将被丢弃或将保留在那里.
当我在这里发现一些讨论时,他们说Trigger/Index都将被删除,一旦我们放弃我们的桌子.但是,似乎触发器仍然存在.当我们放弃桌子时,任何人都可以解释,到底发生了什么
SQL> drop table backup;
Table dropped.
SQL> select text from user_source;
TEXT
----------------------------------------------------------------------------------------------------
TRIGGER
"BIN$Dg5j/bf6Rq6ugyN5ELwQkw==$0" BEFORE UPDATE ON backup FOR EACH ROW
BEGIN
INSERT INTO BACKUP VALUES(USER,:OLD.ENAME,SYSDATE);
END;
9 rows selected.
SQL> select count(*) from user_triggers;
COUNT(*)
----------
1
SQL> select trigger_name from user_triggers;
TRIGGER_NAME
------------------------------
BIN$Dg5j/bf6Rq6ugyN5ELwQkw==$0
Run Code Online (Sandbox Code Playgroud) 我收到一个奇怪的错误.我有一张桌子animals,我试图放弃.由于外键约束失败,我无法删除表.我知道在放下桌子之前我必须丢弃外键.问题是这个表没有外键.我已经放弃了它们.SQLyog反映他们已被删除.但我仍然可以在info架构中找到它们.好像我把钥匙掉了一半或者别的东西.
如何在不丢弃数据库的情况下删除此表?我需要重新调整此表,我只想删除它并重新创建它.
编辑:这是来自SQL的错误消息:
Cannot delete or update a parent row: a foreign key constraint fails
Run Code Online (Sandbox Code Playgroud) 我必须使用SQL语句删除表,如果表不存在,它将崩溃.是否可以使用IF语句删除表
s.executeUpdate("DROP TABLE employee");
因此,我为我的 WordPress 网站安装了“二十四”主题,我想将其更改为默认设置。我的意思是将主题重置为首次安装时的状态(不进行任何修改)。
目前我已检查数据库以检查是否可以将 wp-options 主题值恢复为默认值,但数据库中的该项目不存在。我还尝试更改主题,删除二十个“十四”并从 WordPress 重新安装,但仍然没有成功。
有任何想法吗?
如何删除特定架构中的所有表?只应删除架构中的表。我已经有了用下面的代码获取的所有表名,但是如何删除所有这些表?
下面是一些psycopg2代码,下面是生成的SQL
writeCon.execute("SELECT table_name FROM information_schema.tables WHERE table_schema='mySchema'")
Run Code Online (Sandbox Code Playgroud)
SELECT table_name FROM information_schema.tables WHERE table_schema='mySchema'
当我DROP TABLE IF EXISTS <Table Name>在蜂巢中使用时,它没有释放内存。文件创建为0000_n.bz2,并且仍在磁盘上。
我在这里有两个问题:
1)这些文件是否每次插入都会持续增长?2)是否有等同于删除磁盘上文件的DROP?
drop-table ×13
sql ×5
create-table ×3
mysql ×2
oracle ×2
cassandra ×1
database ×1
hive ×1
locking ×1
ms-access ×1
plugins ×1
postgresql ×1
rake ×1
snapshot ×1
sql-server ×1
sqlyog ×1
teradata ×1
triggers ×1
truncate ×1
wordpress ×1