sql-MySQL“如果不存在则创建表”->错误1050
使用命令:
CREATE TABLE IF NOT EXISTS `test`.`t1` (
`col` VARCHAR(16) NOT NULL
) ENGINE=MEMORY;
在MySQL查询浏览器中运行两次会导致:
表't1'已经存在错误1050
我本以为创建表“ IF NOT EXISTS”不会引发错误。 我是否缺少某些东西或这是一个错误? 我正在运行5.1版。 谢谢。
8个解决方案
46 votes
在5.0.27中对我有效
我只是得到该表存在的警告(不是错误)。
Eli answered 2019-11-09T19:39:06Z
24 votes
如前所述,这是一个警告而不是一个错误,但是(如果像我一样)您希望事情在没有警告的情况下运行,则可以禁用该警告,然后在完成后重新启用它。
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
gdt answered 2019-11-09T19:39:30Z
7 votes
您可以使用以下查询在MySql中创建到特定数据库的表。
create database if not exists `test`;