Prefijo en tablas mysql

868 views
Skip to first unread message

carlos

unread,
Aug 11, 2011, 10:11:06 AM8/11/11
to PHP-Ovillo
Hola a todos,
estoy creando una fuente para la instalación de tablas en una base de
datos y quería ponerle un prefijo a las tablas ya que hay otra base de
datos y algunos nombres de tabla coinciden, pero no acabo de encontrar
información de como se hace (yo busco por pefijo, no se que nombre
tiene en msyql)

Alguien puede recomendarme algún tutorial sobre el tema? o explicarme
como hace para no tener que repatir el prefijo en las consultas i en
las tablas que creo.

saludos
carlos carrera

José Gregorio Hernández Sosa

unread,
Aug 11, 2011, 9:09:09 PM8/11/11
to php-o...@googlegroups.com
Buenas noches estimados compañeros, si escribo algo como, por ejemplo:

SELECT f.numero_fac AS FACTURA,
              f.fecha_fac AS FECHA,
              c.rif_cli AS RIF, 
              c.nombre_cli AS CLIENTE
FROM tbl_facturas AS f, tbl_clientes AS c
WHERE (f.rif_cli = c.rif_cli);

estaré asignando a la tabla tbl_facturas el Alias f, y a la tabla tbl_clientes el Alias c,

de esta manera es más cómodo trabajar el nombre de cada tabla.

Espero servir de ayuda,

Saludos cordiales.


--
Has recibido este mensaje porque estás suscrito al grupo "PHP-Ovillo" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a php-o...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a php-ovillo+...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/php-ovillo?hl=es.




--
El conocimiento es la mejor herencia que podemos dejar...

carlos

unread,
Aug 12, 2011, 5:47:58 AM8/12/11
to PHP-Ovillo
Hola José, antes que nada gracias por contestar
...creo que no he sabido explicarme (seguramene por eso no encuentro
nada por internet ;)

Voy con un ejemplo
Estoy creando una fuente de instalación de base de datos, (tipo
wordpress o drupal)
tengo el formulario hecho con los campos host, db, user, pass,
prefix...(prefix es el prefijo que tendran las tablas en la db PFX_ )
recojo los datos y intento subir las tablas a la base de datos.

// Verificar el prefijo de las tablas
if (!empty($_POST['db-pfix']) && is_string($_POST['db-pfix']) && !
preg_match('/^[A-Za-z0-9_.]+$/', $_POST['db-pfix'])){
echo "El prefijo para la base de datos que ha entrado, ".
$_POST['db-pfix'].", no es válido. El prefijo solo puede contener
carácteres alfanuméricos, puntos o guiones.";
}else{
$pfix = $_POST['db-pfix'];
$prefix = (empty($pfix)) ? 'PFX_' : $pfix .'_';
}

A partir de aquí ya me pierdo, no se como poner ese prefijo pra las
tablas se creen con el

$db_tables = array(
"CREATE TABLE IF NOT EXISTS '".$prefix."category' (
'id' int(5) NOT NULL AUTO_INCREMENT,
'name' varchar(50) NOT NULL,
PRIMARY KEY ('id'))
)"...>

Y luego tampoco veo como hacer para no tener que ir poniendo ese
prefijo en todas las consultas...a no ser que no haya otra manera,
aunque bueno eso escribiendolo ya esta, tampoco se si es así como se
hace

$_pagi_sql = "SELECT * FROM PFX_news, PFX_news_translate WHERE...>

Espero haberme explicado mejor y gracias de nuevo
saludos
carlos

On Aug 12, 3:09 am, José Gregorio Hernández Sosa
<jgregori...@gmail.com> wrote:
> Buenas noches estimados compañeros, si escribo algo como, por ejemplo:
>
> SELECT f.numero_fac AS FACTURA,
>               f.fecha_fac AS FECHA,
>               c.rif_cli AS RIF,
>               c.nombre_cli AS CLIENTE
> FROM tbl_facturas AS f, tbl_clientes AS c
> WHERE (f.rif_cli = c.rif_cli);
>
> estaré asignando a la tabla tbl_facturas el Alias f, y a la tabla
> tbl_clientes el Alias c,
>
> de esta manera es más cómodo trabajar el nombre de cada tabla.
>
> Espero servir de ayuda,
>
> Saludos cordiales.
>

José Gregorio Hernández Sosa

unread,
Aug 12, 2011, 9:50:41 AM8/12/11
to php-o...@googlegroups.com
Hola Carlos, honestamente me siento limitado en conocimiento, pero estoy seguro que ahora que escribiste el código habrá alguien que pueda ayudarnos con una respuesta.

Espero por ella también para aprender a hacerlo.

Un cordial saludo.

wakaru44

unread,
Aug 12, 2011, 5:11:08 PM8/12/11
to PHP-Ovillo
Hola:

Por lo que he entendido, estas creando un instalador para la base de
datos de una aplicacion desarrollada desde cero.

Si no has utilizado ningun abstractor de persistencia (tipo pdo, php
data objects) me temo que no te queda mas remedio que crear las
consultas SQL a pincho.

Segun el numero y tipo de consultas que tengas que utilizar, tienes 2
opciones mas o menos:

- hacer las consultas directamente, incluyendo el prefijo al estilo
$Consulta= "SELECT usuario,password FROM ".$prefix."usuarios
WHERE...."
metiendolas en funciones. Puede ser tedioso, pero si no son muchas
tablas las que tienes que crear es lo mas rapido.

- utilizar abstraccion de la bbdd. es un poco mas complicado, porque
implica estudiarse alguna libreria de php, pero a la larga, si el
proyecto tiene cierto tamaño, interesa.

A mi no se me ocurre otra.

Un saludo,
;)




en caso de que tengas muchas tablas que crear,

carlos

unread,
Aug 19, 2011, 4:24:24 AM8/19/11
to PHP-Ovillo
Hola, gracias por la respuesta...por lo menos se por donde buscar, voy
a mirar las librerias estas que comentas
gracias de nuevo.
Saludos
Carlos
Reply all
Reply to author
Forward
0 new messages