sql - 在用编程语言编写 SQL 时,使用 Natural Join 或 Implicit 列名不是一个好习惯吗?

标签 sql mysql embedded-sql natural-join

当我们使用 Natural Join 时,当两个表具有相同的列名时,我们将连接这些表。但是,如果我们用 PHP 编写它,然后 DBA 向两个表中添加更多字段,那么 Natural Join 就会中断怎么办?

插入也是如此,如果我们做一个

insert into gifts values (NULL, "chocolate", "choco.jpg", now());

然后当 DBA 向表中添加一些字段(例如列 2 或 3)时,它会破坏代码并污染表。因此,当 SQL 语句用编程语言编写并存储在大型项目的文件中时,最好将列名拼写出来。

最佳答案

无论您在哪里编写自然连接都不是一个好主意。它们隐藏了更明确的代码会暴露的含义,并且如果列名更改可能会引入细微的错误。

关于sql - 在用编程语言编写 SQL 时,使用 Natural Join 或 Implicit 列名不是一个好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2707950/

相关文章:

mysql - 在sql查询中返回列名

mysql多表选择最近7天

rpgle - 在 ILE RPG 中检查 sql found 条件的正确方法是什么?

sql - 创建存储过程以将新数据插入表中

mysql information_schema 为空且未填充

mysql - mysql中两个字段搜索的时间复杂度是多少

sql - 嵌入sql的程序出现编译错误

sql - Pro*C Oracle——循环获取 sql

sql - 检查后续记录的特殊约束

sql - 查找连续模式(使用 SQL)