mysql 1005 - can't create table_關于創建數據表報錯一例(ERROR 1005 Can’t create table (errno: 121))...

問題描述

曾遇到創建數據表報錯問題,報錯如下:

ERROR 1005 (HY000) at line 18: Can't create table 'db1.t2' (errno: 121)

通過日志查看有一條記錄

InnoDB: Error: table `db1`.`t2` already exists in InnoDB internal

可見要創建的這個表已經存在,導致創建同名數據表報錯,但是從數據庫目錄上查看確實沒有這個表文件。

原因分析

事實上,導致這種情況是由于刪除數據表時直接刪除了源文件,而沒有通過SQL命令來刪除。這種錯誤的方法對MyISAM引擎的數據庫有時候是管用的,但是對于InnoDB引擎的數據庫則是一定不管用的。

因為對于InnoDB引擎的數據庫,當創建一個表時,會在數據庫目錄中創建一個.frm格式(如t2.frm)的表結構文件,同時,內部地,InnoDB會為這個表向自己的數據目錄添加一個條目。當把源文件(t2.frm)直接刪除時,InnoDB內部數據目錄中并沒有刪除對應的條目。

這時,你運行show tables,由于該命令是通過表結構文件檢索的,自然查看不到這個表。

如果嘗試重新導入數據,由于.sql文件中的語句寫的是"drop table if exists 't2'",最終也會因查不到表而不去執行drop命令。

處理方法

1. 對于MyISAM引擎的數據庫

如果之前刪的表文件是空表文件,則可以直接create創建(這種情況不會出現上面的報錯;如果之前刪的是有數據的表文件,則直接創建是不管用的,需要先執行"drop table 表名",然后再重新創建該表即可。

2. 對于InnoDB引擎的數據庫

可以先嘗試執行"drop table 表名",然后再重新創建該表;如果仍有問題,則需要創建一個臨時數據庫,在臨時數據庫中創建一個同名數據表,然后將該表文件(只有一個.frm文件)復制到當前的數據庫中,賦予mysql權限,然后再執行"drop table 表名",再重新創建該表即可。

喜歡 (0)or分享 (0)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/279230.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/279230.shtml
英文地址,請注明出處:http://en.pswp.cn/news/279230.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

h5輸出文字write_免費下載:Write是用于手寫的文字處理器

h5輸出文字writeWindows/Mac/Linux/Android: Love the feel of writing by hand, but wish you could use features like copy/paste and undo? Write is a free tool that lets you do just that. Windows / Mac / Linux / Android:喜歡手寫的感覺,但是…

11. IDEA 在同一工作空間創建多個項目

1.創建項目 二.、創建工作空間 JavaWorkspace 1、File-> New Project -> 創建工作空間 JavaWorkspace,并 順便創建項目 JavaOne 2.創建第一個項目后形成的目錄結構如下 三、在已經創建好的工作空間中創建第二個項目 1、File -> New Module -> 創建項目 …

winform 線程監聽兩個目錄下的文件_vb.net 利用.net自帶的GZipStream壓縮或者解壓文件的代碼,不需要任何第三方控件...

網上很少有用VB寫的壓縮文件的代碼,但是,在網絡傳輸,文件下載,打包發布等等方面的需求又比較多,所以,借鑒了一下C#代碼的例子,改造成了VB用的類。另外加上了多層文件夾壓縮解壓。但是,因為時間有…

什么是“ rpcsvchost”,以及為什么它在Mac上運行?

You find something called rpcsvchost while using Activity Monitor to see what’s running on your Mac. What is this process, and should you be worried? In a word, no: rpcsvhost is a core part of macOS. 在使用“活動監視器”查看Mac上正在運行的內容時&#xff…

自定義異常禁用異常堆棧_如何在Mac上禁用或自定義自動更正

自定義異常禁用異常堆棧Sometimes, autocorrect gets it wrong, replacing a word you meant to type with something completely different. You can customize it to fix these issues or disable it altogether. 有時候,自動更正會把它弄錯,用完全不同…

控制dcom程序使用端口_使用VS Code調試.net控制臺應用程序的方法

本文由 比特飛 原創發布,歡迎大家踴躍轉載。轉載請注明本文地址:https://www.byteflying.com/archives/6928。1、概述本文向大家介紹使用Visual Studio Code調試.net控制臺應用程序的方法。2、方案首先在創建好一個控制臺應用程序,再在擴展中…

omnipay支付--支付寶支付

最近負責的項目事關支付寶APP支付 也踩了一些坑 這邊記錄下 以下代碼基于laravel框架下: 生成APP支付參數: $gateway $this->getGateway();$request $gateway->purchase();$request->setBizContent([subject > ,//產品描述out_trade_no > ,//本地訂單號…

4khz的帶寬是指什么意思_揚聲器和耳機的Hz-KHz范圍是什么意思?

4khz的帶寬是指什么意思If you’ve looked at high-end headphones or speakers, you’ve probably noticed numbers on the spec sheet that read something like “20Hz-20KHz.” What do these numbers mean? 如果您看過高端耳機或揚聲器,則可能已經注意到規格表…

mysql兩種引擎的適用場景_MySQL兩種引擎的區別和應用場景

Innodb引擎Innodb引擎提供了對數據庫ACID事務的支持,并且實現了SQL標準的四種隔離級別。該引擎還提供了行級鎖和外鍵約束,它的設計目標是處理大容量數據庫系統,它本身其實就是基于MySQL后臺的完整數據庫系統,MySQL運行時Innodb會在…

linux里查看最耗CPU的線程

1、top后按c查看最耗cpu的進程,得到pid 2、top -Hp pid 查看該進程里的線程資源使用情況,找到最耗資源的線程的pid 3、jstack pid來查看進程的各個線程棧,注意這里的pid是第一步中進程的pid,不是第二步得到的線程id 4、將第二步得…

vlc傳輸_如何使用VLC通過網絡流式傳輸視頻和音樂

vlc傳輸VLC includes a fairly easy-to-use streaming feature that can stream music and videos over a local network or the Internet. You can tune into the stream using VLC or other media players. VLC包括一個相當易于使用的流媒體功能,可以通過本地網絡…

python實現異步的幾種方式_終于搞明白了,異步Python比同步Python究竟快在哪里?...

大家好,你是否聽人們說過,異步 Python 代碼比“普通(或同步)Python 代碼更快? 果真是那樣嗎?同步和異步是什么意思?Web 應用程序通常要處理許多請求,這些請求在短時間內來自不同的客戶端。為避免處理延遲&a…

您可能沒有注意到的7個Ubuntu File Manager功能

The Nautilus file manager included with Ubuntu includes some useful features you may not notice unless you go looking for them. You can create saved searches, mount remote file systems, use tabs in your file manager, and more. Ubuntu隨附的Nautilus文件管理器…

P3174 [HAOI2009]毛毛蟲(樹形dp)

P3174 [HAOI2009]毛毛蟲 題目描述 對于一棵樹,我們可以將某條鏈和與該鏈相連的邊抽出來,看上去就象成一個毛毛蟲,點數越多,毛毛蟲就越大。例如下圖左邊的樹(圖 1 )抽出一部分就變成了右邊的一個毛毛蟲了&am…

wdcp mysql密碼_WDCP提示無法連接mysql及創建站點提示mysql密碼不正確

一、wdcp系統訪問提示無法連接mysql1、可能是mysql服務沒啟動,首先ssh登陸服務器,然后執行service mysqld restart重啟mysql再訪問試下,如果無法啟動,先用df -lh查看下home分區有沒有掛載,如果沒有掛載嘗試先重啟&…

applecare多少錢?_否,AppleCare +無法覆蓋丟失或被盜的iPhone

applecare多少錢?Losing your iPhone or getting it stolen is pretty common these days, but it’s important to know that while AppleCare covers accidental damage, it doesn’t cover a lost or stolen iPhone. 如今,丟失iPhone或使其被盜很普遍&#xff0…

10以內數的組成分解圖_大班數學教案《10以內數的組成》

大班數學教案《10以內數的組成》作為一名教學工作者,時常需要編寫教案,借助教案可以讓教學工作更科學化。那么什么樣的教案才是好的呢?以下是小編收集整理的大班數學教案《10以內數的組成》,希望能夠幫助到大家。大班數學教案《10…

HDFS文件目錄操作代碼

分布式文件系統HDFS中對文件/目錄的相關操作代碼,整理了一下,大概包括以下部分: 文件夾的新建、刪除、重命名文件夾中子文件和目錄的統計文件的新建及顯示文件內容文件在local和remote間的相互復制定位文件在HDFS中的位置,以及副本…

craigslist_如何設置Craigslist警報(用于電子郵件或SMS)

craigslistWhether you’re looking for apartments or used gadgets on Craigslist, you don’t have to keep checking the website. You can stay on top of things by getting notified when new posts go up that match your searches. 無論您是在Craigslist上尋找公寓還是…

merge r語言daframe_R語言總結

R語言總結數據框操作(plyr包)輔助小函數1 splat函數:作用:把原函數中多個參數打包為一個list作為參數,然后輸出新的函數。也就是說本來某個函數需要輸入多個參數,現在套上splat后,只要輸入一個參數list就可以了&#x…