gpt4 book ai didi

php - 在所有 mysql 表中添加一个新列

转载 作者:行者123 更新时间:2023-11-29 07:08:58 24 4
gpt4 key购买 nike

我有一个像这样的练习表:

    id     | otherColumn1 | otherColumn2 | otherColumn3
--------------------------------------------------------
1 | othervalue1 | othervalue2 | othervalue3
2 | othervalue1 | othervalue2 | othervalue3

我还有很多其他表:

Person
Address
Contact
------
------
------

现在我的任务是在每个其他表中添加 practiceId 列,这将是一个练习表中的外键。请记住,有些表已经有 practiceId 列,因此我不需要更改这些表。

问题是有很多表。我可以用更少的查询来做到这一点吗?或者我可以为此编写一个高效的 PHP 脚本吗?

我已经有了一个可以从特定数据库中获取表名的 php 脚本。

谢谢

最佳答案

不,确实没有办法同时向多个表添加一个字段。您将需要为其编写脚本。不过,这不应该是一个很难编写的脚本:

一个简单的 SHOW TABLES 查询将为您提供一个表列表,然后您可以在 PHP 中循环访问这些表。

在循环中,SHOW COLUMNS FROM tablename 查询将为您提供当前表中的字段,您可以使用它来检查它是否已经具有 practiceId 字段, 然后根据需要添加它。

要添加字段,请使用 ALTER TABLE tablename ADD COLUMN practiceId INT(我假设为 INT,但替换为 但是如果您需要定义您的字段重新使用不同的数据类型)

要在新列上添加索引,您还可以使用ALTER TABLE,或使用CREATE INDEX。要创建外键约束,请使用 ALTER TABLEADD FOREIGN KEY 参数(但我相信这仅适用于 InnoDB 表)。

引用:

关于php - 在所有 mysql 表中添加一个新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5702188/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com