Laravel 5.5 遷移報錯:General error: 1215 Cannot add foreign key constraint
問題
之前一直用的 Laravel 5.4,資料庫也是直接寫 sql 的,感覺可定製性更強,順便鍛鍊下 sql。這次改用了 Laravel 5.5,索性用遷移建庫試試,結果報錯如下:
SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL: alter table `users` add constraint `users_production_enterprise_id_foreign` foreign key (`production_enterprise_id`) references `production_enterprises` (`id`))
解決
看樣子是不能新增約束。然後我做了以下幾步檢查:
- 確認儲存引擎支援外來鍵約束(MyISAM 不支援)
- 確認外來鍵約束的主、副表資料型別嚴格一致
- 副表新增外來鍵時,確認要參考的主表及其目標欄位已存在
按照第 3 步,由於 Laravel 的遷移檔名為 "2018_04_15_101341_create_users_table" 的字首時間戳格式,所以我修改了要參考主表字段的那些檔案的時間戳,讓那些主表被優先建立。
網上看到也有改動 Laravel 框架原始碼的做法,我不太喜歡,也不推薦。總之,問題解決。
相關推薦
Laravel 5.5 遷移報錯:General error: 1215 Cannot add foreign key constraint
問題 之前一直用的 Laravel 5.4,資料庫也是直接寫 sql 的,感覺可定製性更強,順便鍛鍊下 sql。這次改用了 Laravel 5.5,索性用遷移建庫試試,結果報錯如下: SQLSTATE[HY000]: General error: 1215 Cannot add foreign key c
錯誤代碼: 1215 Cannot add foreign key constraint
mysql 1215 foreign key index 新增外鍵時報錯:錯誤代碼: 1215 Cannot add foreign key constraint 表key_list:CREATE TABLE key_list (server_app_id INT(11) NOT NULL ,
MySQL報錯cannot add foreign key constraint解決方法
這種報錯是提示無法正確的插入外來鍵約束,那我分析一下,設定外來鍵有以下幾個條件: 1、要設定外來鍵的欄位不能為主鍵 2、改建所參考的欄位必須為主鍵 3、兩個欄位必須具有相同的資料型別和約束 滿足這三個條件一般在建立外來鍵的時候就不會報錯。
關於mysql創表的時候出現錯誤:cannot add foreign key constraint
今天在創mysql表的時候出現錯誤:cannot add foreign key constraint 查了網上的大部分錯誤,發現都不對,後來猛地反應過來:外來鍵必須是主鍵。 這個問題真的特別重要。牢記!
win10安裝PowerDesigner16.5報錯:An error[-5001 ... 的解決辦法
在安裝PowerDesigner16.5時,點選exe安裝程式時報如下錯誤: 這是因為我先前安裝PowerDesigner失敗導致PowerDesigner的登錄檔遺留在電腦內,電腦以為我已經啟動
mysql 5.7安裝報錯: 請鍵入 NET HELPMSG 3534 以獲得更多的幫助
本地顯示安裝了5.5版本,後來在執行sql指令碼的時候報錯,原因是由於5.5不支援兩個欄位為timestamp型別,沒有具體分析原因,就解除安裝了5.5版本。網上隨便下載了一個5.7的mysql,安裝後,使用command client啟動發現閃退,找到原因是,
laravel --報錯:Parse error: syntax error, unexpected '=>' (T_DOUBLE_ARROW)
parse size font 技術分享 info error span expected 原因 報錯如下: 原因:( ) { } [ ] 不對稱,或者用錯了。 laravel --報錯:Parse error: syntax error, unexpected
Centos7.5透明代理報錯[squid] kid1| ERROR: No forward-pro
[[email protected] squid]# squid -vSquid Cache: Version 3.5.20Service Name: squidconfigure options: '--build=x86_64-redhat-linux-gnu' '--host=x86_64-r
Myeclipse啟動報錯:An error has occurred.See the log file
entry classpath ret 出現 restore div nap cati security 出現這個問題是因為斷電前myeclipse還在運行,日誌報錯如下: !ENTRY org.eclipse.osgi 4 0 2017-07-24 08:29:48.4
shell 報錯:syntax error: unexpected end of file
not app 文件格式 解決方案 編輯 window 曾經 command exp 有時執行腳本時會報錯: [[email protected] shell]# sh -x test.sh + $‘\r‘ : command not found test.s
十、cent OS開啟APR模式報錯:configure: error: Found APR 1.3.9. You need version 1.4.3 or newer installed
config 安裝目錄 prefix org col spa -a you 新版 錯誤內容顯示APR的版本過低,需要新版本 到http://apr.apache.org/download.cgi#apr1這個地址下載所需要的包apr-1.4.5.tar.gz apr-ic
memcache啟動報錯:memcached: error while loading shared libraries: libevent-XXXXX5: cannot 。。。。
share mem dev 鏈接 debug 修改文件 memcache null 鏈接地址 創建連接 ln -s /usr/lib/libevent-2.1.so.6 /usr/lib/libevent-2.1.so.6 如果還不行就下面解決 執行下面語句查看鏈接
TensorFlow安裝之後導入報錯:libcudnn.so.6:cannot open sharedobject file: No such file or directory
-a ring share 環境 .net str ubunt dir 附件 轉載自:http://blog.csdn.net/silent56_th/article/details/77587792 系統環境:Ubuntu16.04 + GTX1060 目的:配置一下py
Linux中mysql進入命令行報錯:MYSQL ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.99.192' (111)
端口 connect 通過 l命令 linu serve nbsp linux err 場景:在Linux中安裝mysql01和mysql02,通過VIP虛出一個VIP=192.168.99.192,mysql01為主ip為192.168.99.153,mysql02為備機
c++ include包含工程目錄下的.h檔案,報錯:fatal error C1083: 無法開啟包括檔案:“Sales_item.h”: No such file or directory
背景:刷c++primer的題目,將下載的某個標頭檔案拖拽到自己建立的工程目錄下,在自己新建的原始檔中include包含時,報無法開啟檔案 明明有檔案 為什麼說無法開啟呢 於是到本地的工程目錄中開啟一看,果然沒有這個檔案 說明通過滑鼠拖拽檔案進入到工程樹上面,檔案並沒
python中使用pip安裝報錯:Fatal error in launcher... 解決方法
python安裝了2和3版本在 cmd 中用pip報的錯誤為:Fatal error in launcher:Unable to create process using 這是因為你安裝了python3和python2在你的windows下,並且在環境變數中分別配置了pip,可是並沒有區分pip3還是p
報錯:log4j:ERROR Category option " 1 " not a decimal integer.
程式碼: package com.zml; import org.apache.log4j.Logger; public class Day01 { private static Logger logger = Logger.getLogger(Day01.class);
Hplsql報錯:...HiveSQLExpection:Error while compiling statement:No privilege 'Select' found for inputs {.....}
實踐hplsql時,遇到的問題總結一下,若有不對的地方,歡迎交流。 一、Hplsql簡介 hplsql的介紹詳見:http://lxw1234.com/archives/2015/09/492.htm 二、hpsql的配置檔案為hplsql-sit
pycharm執行selenium+webdriver(chromedriver)報錯:unknown error: chrome failed to start
首先我確定了我的chrome和chromedriver對應版本是一致的 在cmd命令模式中能開啟chrome並執行,但是在pycharm中卻不能開啟chrome,並報錯unknown error: chrome failed to start 解決方法:關閉pycharm,然後找到
Java報錯:java.math.BigDecimal cannot be cast to java.lang.String
從資料庫取count、sum等函式的值需要轉化成Integer的時候出現 java.math.BigDecimal cannot be cast to java.lang.String的報錯 錯誤程式碼: Integer.parseInt((String)map.get("id"