wp_commentmeta solucion hy000 has for error documentación discarded discard dicho been already sql mysql mysql-error-1050

solucion - mysql error 1812



MySQL "CREAR TABLA SI NO EXISTE"-> Error 1050 (7)

Usando el comando:

CREATE TABLE IF NOT EXISTS `test`.`t1` ( `col` VARCHAR(16) NOT NULL ) ENGINE=MEMORY;

Ejecutando esto dos veces en el navegador MySQL Query resultados en:

La tabla ''t1'' ya existe Error 1050

Hubiera pensado que crear la tabla "SI NO EXISTE" no arrojaría errores. ¿Me estoy perdiendo algo o es esto un error? Estoy ejecutando la versión 5.1 . Gracias.


Como ya se dijo, es una advertencia, no un error, pero (si me gusta) desea que las cosas funcionen sin advertencias, puede desactivar esa advertencia, luego volver a habilitarla cuando haya terminado.

SET sql_notes = 0; -- Temporarily disable the "Table already exists" warning CREATE TABLE IF NOT EXISTS ... SET sql_notes = 1; -- And then re-enable the warning again


Crea una conexión mysql con el siguiente parámetro. "''raise_on_warnings'': False". Ignorará la advertencia. p.ej

config = {''user'': ''user'',''password'': ''passwd'',''host'': ''localhost'',''database'': ''db'', ''raise_on_warnings'': False,} cnx = mysql.connector.connect(**config)


Funciona bien para mí en 5.0.27

Acabo de recibir una advertencia (no un error) de que la tabla existe;


Puede usar la siguiente consulta para crear una tabla en una base de datos particular en MySql.

create database if not exists `test`; USE `test`; SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; /*Table structure for table `test` */ CREATE TABLE IF NOT EXISTS `tblsample` ( `id` int(11) NOT NULL auto_increment, `recid` int(11) NOT NULL default ''0'', `cvfilename` varchar(250) NOT NULL default '''', `cvpagenumber` int(11) NULL, `cilineno` int(11) NULL, `batchname` varchar(100) NOT NULL default '''', `type` varchar(20) NOT NULL default '''', `data` varchar(100) NOT NULL default '''', PRIMARY KEY (`id`) );


Tengo una solución a un problema que también puede aplicarse a usted. Mi base de datos se encontraba en un estado en el que una DROP TABLE falló porque no pudo encontrar la tabla ... pero CREATE TABLE también falló porque MySQL pensó que la tabla existía. (Este estado podría interferir fácilmente con su cláusula IF NOT EXISTS).

Finalmente encontré esta solución :

sudo mysqladmin flush-tables

Para mí, sin el sudo , recibí el siguiente error:

mysqladmin: refresh failed; error: ''Access denied; you need the RELOAD privilege for this operation''

(Se ejecuta en OS X 10.6)


Tuve un problema similar al de @CraigWalker en debian: mi base de datos estaba en un estado en el que una DROP TABLE falló porque no pudo encontrar la tabla, pero CREATE TABLE también falló porque MySQL pensó que la tabla aún existía. Entonces, la mesa rota aún existía en algún lado, aunque no estaba allí cuando miré en phpmyadmin.

Creé este estado simplemente copiando toda la carpeta que contenía una base de datos con algunas MyISAM y algunas tablas InnoDB

cp -a /var/lib/mysql/sometable /var/lib/mysql/test

(¡esto no es recomendado!)

Todas las tablas de InnoDB no están visibles en la nueva test base de datos en phpmyadmin.

sudo mysqladmin flush-tables tampoco ayudó.

Mi solución: tuve que eliminar la nueva base de drop database test con la prueba de la base de drop database test y copiarla con mysqldump :

mysqldump somedatabase -u username -p -r export.sql mysql test -u username -p < export.sql


create database if not exists `test`; USE `test`; SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; /*Table structure for table `test` */ ***CREATE TABLE IF NOT EXISTS `tblsample` ( `id` int(11) NOT NULL auto_increment, `recid` int(11) NOT NULL default ''0'', `cvfilename` varchar(250) NOT NULL default '''', `cvpagenumber` int(11) NULL, `cilineno` int(11) NULL, `batchname` varchar(100) NOT NULL default '''', `type` varchar(20) NOT NULL default '''', `data` varchar(100) NOT NULL default '''', PRIMARY KEY (`id`) );***