我在“database_name”中创建了一个表 license_serial。但是当我尝试创建第二个名为 license 的表时,它说它已经存在。
这是为什么 ?我的数据库只包含一个 license_serial.frm 和一个 db.opt。
mysql> SHOW TABLES;
+---------------------+
| Tables_in_mobilemp3 |
+---------------------+
| license_serial |
+---------------------+
1 row in set (0.00 sec)
mysql> select * from license;
ERROR 1146 (42S02): Table 'mobilemp3.license' doesn't exist
创建第二个表:
CREATE TABLE `license` (
`id` int(10) unsigned NOT NULL auto_increment,
`serial_id` int(10) unsigned NOT NULL,
`uid` bigint(20) unsigned NOT NULL,
`active` tinyint(1) NOT NULL,
`first_seen` timestamp NOT NULL default CURRENT_TIMESTAMP,
`last_seen` timestamp NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `serial_uid` (`serial_id`,`uid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
给出以下错误消息:
ERROR 1050 (42S01): Table 'mobilemp3.license' already exists
编辑:
解决方案是这样的(按此顺序):
drop database databasename;
create database databasename;
use databasename;