- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我在本地 xampp 上有这张表,表名是 tags
,这在我的本地系统上运行良好,但是当我将此表上传到我的服务器时,我收到以下错误:
我在 peckinga_blog
表下的表如下:
如您所见,tags
就是其中之一,对于 tags
表,我的 laravel 应用程序中有以下迁移:
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateTagsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('Tags', function (Blueprint $table) {
$table->increments('id');
$table->mediumText('tag');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('Tags');
}
}
尽管我的数据库显然可用,但为什么我会收到此错误?我该怎么做才能让我的服务器查找数据库 tags
而不是 Tags
?
最佳答案
数据库和表名在 Windows 中不区分大小写,而在大多数 Unix 或 Linux 中则区分大小写。 MySQL 中的表名是文件系统条目,因此如果底层文件系统是大小写不敏感的。
虽然在应用迁移之后,它应该可以工作但是如果它不起作用并且您希望这两个语句(即表中的小写和大写名称)成功,您需要放置以下行
lower_case_table_names = 1
在你的/etc/my.cnf 或任何你保存 MySQL 配置的地方。
Doctrine 生成大写/CamelCase 表名,MySQL 将它们存储为小写!
或者
在从本地导出数据库之前,您可以执行以下步骤:
打开你的 MySQL 配置文件:[drive]\xampp\mysql\bin\my.ini
查找:# MySQL 服务器 [mysqld]
在其正下方添加:lower_case_table_names = 2
保存文件并重启MySQL服务
请务必将系统变量添加到配置文件的[mysqld]部分。
有关更多信息,您可以查看 MySQL Reference Link .
关于php - 在服务器上,我的应用程序正在寻找大写的表名而不是小写的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41967746/
我是一名优秀的程序员,十分优秀!