我有一个程序,可以从大约200个带前缀的表中进行选择。例如PBN_products,PBN_address,PBN_others。除了将前缀添加到每个表的select语句之外,还可以将前缀定义为默认值,然后进行选择吗?
$prefix=GET['prefix'];
mysql_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD);
mysql_select_db(DB_DATABASE);
$sql = 'SELECT price, description, title, cost'.
'FROM products, address, others';
如何定义不包含在所有表中的前缀?我有200张桌子。
我将研究一个类来执行一些简单的查询抽象或执行此操作的某种ORM库。一个样本就是这样。
class Query {
function from($tbl){
return new Table($tbl);
}
}
class Table {
var $prefix = 'PBN_';
var $tblname = '';
function Table($name){
$this->tblname = $this->prefix.$name;
}
function select($cols, $where = false, $order = false, $limit = false){
$query = "SELECT {$cols} FROM {$this->tblname}";
if($where) $query .= " WHERE ".$where; //add where
if($order) $query .= " ORDER BY ".$order; //add order
if($limit) $query .= " LIMIT ".$limit; //add limit
return $query;
}
}
$q = new Query;
$results = mysql_query($q->from('products')->select('*'));
显然,这远远没有完成或安全。只是一个抽象类如何加速您的sql并为您提供前缀的示例。
问题内容: 我有一个joomla mysql数据库,其所有表名上的表名前缀均为“ jos_”。但我想将其从所有表格中删除。我知道如何一次重命名每个表,但是我有600个表。是否有运行SQL查询的简便方法来执行此操作。 如果有人有解决方案,请您发布我可以使用的确切SQL查询? 问题答案: 您可以通过单个查询生成必要的语句: 将查询的输出保存到文件中,您便拥有了所需的所有语句。 或者,如果返回的是s和s
问题内容: 好的,这是我的难题,我建立了一个数据库,其中包含约5个表,所有表的数据结构完全相同。出于本地化的目的,以这种方式分离了数据,并总共分割了约450万条记录。 在大多数情况下,只需要一张桌子就可以了。但是,有时需要两个或多个表中的数据,并且需要按用户定义的列对数据进行排序。这就是我遇到的问题。 数据列: MySQL陈述: MySQL吐出这个错误: 显然,我做错了。有人愿意为我阐明一下吗?
JOOQ似乎完全忽略了数据库列的默认值。既不会更新ActiveRecord对象,也不会在插入时跳过此列。相反,它尝试将其设置为NULL,这在非NULL列上失败。 例: 我所期望的行为是,要么new记录()用korrekt值初始化所有默认变量(尽管我知道如果结果是自定义函数的结果,这可能很困难:-))。或者INSERT INTO不插入所有带有默认值的未修改列,然后INSERT INTO后面跟着一个S
问题内容: 如何仅列出具有给定前缀()的数据库? 例: 输出: 预期产量: 奖金: 在我的情况下,可以在不定义new 的情况下创建数据库吗? 我的目标是仅在具有前缀的数据库上运行查询,所以可能存在比列出数据库更好的解决方案,然后在每个数据库上运行查询吗? 问题答案: 只需按表示数据库名称的属性进行过滤。要列出以给定前缀开头的数据库,可以使用regexp为: 其他过滤器选项在命令页面上列出: 您可以
安装成功后系统会提示面板访问地址与AMH、MySQL默认账号密码。 这是官方进行极速安装的时候显示的一段话。 为什么软件的默认数据库选择MYSQL。其实可以和宝塔那样。软件本身的数据库是独立的。 这样更有利于系统的安装。MYSQL数据库后期可以根据自己的需求进行安装。
问题内容: 我有一个包含69个表的数据库,我只想选择每个表的前三个记录。 我可以在 每个表 上执行以下操作: 但是,如果我要手动执行此操作,则将花费大量时间。 您能建议一个解决方法吗? 我尝试了此解决方案,但可以使其正常工作(我不知道如何针对MSSQL对其进行修改) 编辑 感谢您的答复。我可能还不够清楚:我的意思是我想解析每个单独的表,并且只获得前3个记录,而不是转到下一个表。以下是我需要的Yar