当我们使用 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/