gpt4 book ai didi

php - 如果表已经存在,是否可以选择在 MySQL 中添加列和/或创建表?

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

我正在尝试运行脚本来自动升级某些数据库表,但某些系统根本不存在该表。如何在 MySQL 中最好地编写如下内容:

  1. 我有一个包含两列的现有表,地址城市。我想添加列 version 或为根本没有该表的系统创建一个新表,所以:

  2. 创建表 '你好' (地址文本 NOT NULL,
    城市 tinytext NOT NULL,版本 tinytext NOT NULL,)

  3. 但是,如果 'hello' 存在但没有列版本,保留表但添加新列?

  4. 在“版本”列中,为所有保留的数据添加值“旧”,但为我将填充数据库的所有新条目添加"new"。

  5. 这不会过时,所以我可以随时添加列,在升级不同版本的软件时检查迭代?

编辑:实际升级脚本中的一些 PHP 代码会有所帮助;假设我有一个“激活”函数,它应该检查表、创建表或以其他方式修改表...

最佳答案

如果您不能或不想使用 CREATE TABLE IF NOT EXISTS 表名,请回答您关于如何检查表是否存在的评论:

<?php

$db_name = 'mydb';
$table_name = 'table';

mysql_connect("localhost", "mysql_user", "mysql_password");
$result = mysql_list_tables($db_name);
$num_rows = mysql_num_rows($result);

for ($i = 0; $i < $num_rows; $i++) {
if (mysql_tablename($result, $i) == $table_name) {
// the specified table exists, do what you need to
break;
}
}

?>

关于php - 如果表已经存在,是否可以选择在 MySQL 中添加列和/或创建表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8537349/

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