qq807722947 2021-07-31 02:27 采纳率: 92.1%
浏览 29
已结题

MySql数据库建表更改问题

我是emlog博客系统。数据库不太懂
想添加一个按钮,判断数据库中表是否存在,不存在就建立


$sql = "ALTER TABLE ".DB_PREFIX."blog ADD `zuijia` tinyint(2) NOT NULL DEFAULT '1' COMMENT '状态,1正常,2禁用'";

emlog的数据库建立如上面一样写的

存在的话状态点击按钮变成2,默认是1
大概是这样写的,不过我写的有点问题


$db->query("update ". DB_PREFIX ."blog SET zuijia=2 where gid=$logid");

有个点赞的例子


function syzan() {
    $DB = MySql::getInstance();
    if($DB->num_rows($DB->query("show columns from ".DB_PREFIX."blog like 'zuijia'")) == n) {
        $sql = "ALTER TABLE ".DB_PREFIX."blog ADD `zuijia` tinyint(2) NOT NULL DEFAULT '1' COMMENT '状态,1正常,2禁用'";
        $DB->query($sql);
    }
}
syzan();
//UPDATE emlog_blog SET gid=gid+'2000'
function update($logid) {
    $logid = intval($_POST['id']);
    $DB = Database::getInstance();
    $db->query("update ". DB_PREFIX ."blog SET zuijia=2 where gid=$logid");

}

上面是点赞的例子,想改成我所需要的,然后用按钮实现

  • 写回答

1条回答 默认 最新

  • Jason Ho 2021-08-02 10:44
    关注

    按如下方式试下:

    #判断表是否存在
            $exist = Db::query('show tables like "table_name_' . $store_id . '"');
            if (empty($exist)) {
                $sql = "CREATE TABLE `table_name_{$store_id}` (
                       `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
                      `goods_id` int(11) unsigned NOT NULL COMMENT '图片的id',
                      `store_id` int(11) unsigned DEFAULT NULL,
                      `main_figure` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '主图,1;非主图,2',
                      `sort_order` smallint(5) unsigned NOT NULL DEFAULT '0',
                      `color` mediumint(8) unsigned DEFAULT NULL COMMENT '颜色',
                      `path` varchar(255) DEFAULT NULL COMMENT '图片的路径',
                      `status` tinyint(3) DEFAULT '0' COMMENT '状态,1=已生成,0=未生成图片',
                      `create_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
                      `update_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
                      PRIMARY KEY (`id`)
                    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='商品图片表';";
                Db::execute($sql);
            }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月11日
  • 已采纳回答 8月3日
  • 创建了问题 7月31日

悬赏问题

  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试