Laravel:如何使用区分大小写的列(二进制)创建表?

时间:2017-08-09 09:52:49

标签: mysql database laravel case-sensitive

我想使用base62唯一标识符,我的问题是列不区分大小写,因此当我搜索它时,F1与f1相同。现在在MYSQL中,我只想做

CREATE TABLE USERS
(
USER_NAME STRING(10) BINARY
)

所以在Laravel中应该看起来像

$table->string('base62_id', 10)->binary();

但是,我不认为 - > binary()存在于laravel中。那我该怎么做呢?

2 个答案:

答案 0 :(得分:1)

我知道这个问题很旧,但以防万一有人偶然发现。在撰写本文时,Laravel 是版本 8,这是有效的:

<p:commandButton id="addInformedConsentBtn"
    value="Add Comments" title="Add Comments"
    disabled="#{backingBean.booleanResultOrVariable}">
</p:commandButton>

这将实现区分大小写,而无需任何类型的更改语句。

答案 1 :(得分:0)

所以这就是答案:

DB::statement("ALTER TABLE `mytable` ADD `base62_id` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_bin UNIQUE AFTER `id` , ADD INDEX ( `base62_id` )");

关键是使用

CHARACTER SET utf8 COLLATE utf8_bin

使其区分大小写。

谢谢@我的来源:http://blog.birdhouse.org/2010/10/24/base62-urls-django/comment-page-1/