我有一个数据库,我正在创建,并与Mysql中的另一个表进行了1对1连接,下面是一个屏幕截图。我的问题是,我可以删除创建连接时创建的额外列(assembly factory_id)吗?我只想要单一的(factory_id)这会搞砸我建立的连接吗?我应该放下(factory_id)并让连接继续吗? 我是小白,谢谢!可以删除它吗?
Q
可以删除它吗?
0
A
回答
1
我假设您的评论“但我应该删除表吗?”真的意味着说“但我应该放弃专栏?”。
简短的回答:如果安全,您应该删除该列 - 没有理由让它混乱数据库和未来开发人员的头脑。如果1)factory_id中的值IS和ALWAYS将与组件factory_id相同,例如它们是彼此的重复值,并且2)没有其他表或程序是其它的表或程序代码引用程序集factory_id,则可以安全地删除程序集factory_id。
但是,如果有任何机会,他们意味着不同的事情(不只是20行左右的样本),你不能删除它。请参阅小提琴:http://sqlfiddle.com/#!9/0bf17/1
如果它们总是相同,但数据库或代码的某些部分引用程序集factory_id,那么可以重构那些数据库或代码部分来引用factory_id,然后删除程序集factory_id。
在做这样的事情时,应该进行测试以验证更改后的查询和程序状态与更改前的状态相同。
1
您可以使用ALTER语句删除多余的列。
ALTER TABLE table_name DROP COLUMN factory_id;
您也可以参考http://docs.oracle.com/cd/E18283_01/server.112/e17118/statements_3001.htm#i2103683 (下降特定列条款)
编辑: 至于连接方面,ALTER语句转储到一个临时表,然后在不丢失任何重建连接。请参阅存储,性能和并发注意事项在此document
相关问题
- 1. 我可以删除flashlogs.txt吗?
- 2. 我可以删除xxxxxxxAreaRegistration.cs吗?
- 3. Ansible安装了Git吗?我可以安全地删除它吗?
- 4. 用户看到它后可以删除/取消通知吗?
- 5. Library/android-sdk-mac_86 - 我可以删除它吗?
- 6. 什么是VSSVER.SCC文件,我可以删除它们吗?
- 7. 什么是'.save_docker /'文件夹?我可以删除它吗?
- 8. C++ const使用。我可以删除它吗?
- 9. 我可以删除这些跨度吗?
- 10. 你可以删除appengine项目吗?
- 11. 我们可以删除dom表吗?
- 12. 我可以删除迁移文件吗?
- 13. 可以删除postbin.org文件夹吗?
- 14. memsql多表删除,可以吗?
- 15. UITableView:我可以删除多行吗?
- 16. 可以删除RabbitMQ的`/`VHost吗?
- 17. 可以通过API删除授权吗?
- 18. 可以删除继承的样式吗?
- 19. 我可以删除迁移文件吗?
- 20. 我们可以删除ES6课程吗?
- 21. 你可以用节点删除system32吗?
- 22. 可以删除.nupkg文件吗?
- 23. 可以删除sql统计信息吗?
- 24. MKS中可以删除成员吗?
- 25. 可以从Eclipse中自动删除已删除的项目吗?
- 26. 在PhotoKit中删除:你可以跳过“最近删除”吗?
- 27. 我们可以在删除,删除和截断中回滚吗?
- 28. 我可以通过删除目录来删除imagemagick吗?
- 29. 这是否可以检查广播是否以粘滞模式发送?它可以被中止/删除吗?
- 30. 您可以禁用事件列表程序而不删除它吗?
非常感谢!那是我需要的答案!是的,我的意思是专栏,而不是表:) – beau8008 2015-04-01 20:10:10