标签: database-table

Laravel 查询构建器和表名

我注意到当我使用查询生成器时,我在不同的文件中写了很多数据库表名。如果我要更改数据库表名,我将不得不在我的项目中搜索和更改相当多的行。这是您的 Laravel 人员注意到并提出解决方案的问题吗?

我喜欢使用类模型而不是数据库名称的 Eloquent 方法;但是对于某些查询,我认为 Query Builder 是一个更好的解决方案(尽管我不是这方面的专家)。

database-table laravel laravel-query-builder

4
推荐指数
3
解决办法
7642
查看次数

序列化:更改列的“验证”元数据

是否可以使用迁移文件来更改列的“验证”元数据?我尝试了queryInterface.changeColumn方法,似乎它只能更改文档中提到的三个元数据(defaultValue,allowNull和type)。

我尝试在迁移文件的“ up”对象中执行以下操作:

queryInterface.changeColumn(
  'tableName',
  'columnName',
  {
    validate: {
      is: /new_regex_validation/
    }
  }
)
Run Code Online (Sandbox Code Playgroud)

但是,当我运行“ sequelize db:migrate”时,上述尝试对我不起作用

为了简单起见,我将使用表定义详细说明我的问题:

我正在尝试更改这样的现有表:

var tableName = sequelize.define('tableName', {
    columnName: {
        type: DataTypes.STRING,
        unique: true,
        allowNull: false,
        validate: {
            is: /some_regex_validation/
        }
    }
})
Run Code Online (Sandbox Code Playgroud)

使用sequelize迁移到此:

var tableName = sequelize.define('tableName', {
    columnName: {
        type: DataTypes.STRING,
        unique: true,
        allowNull: false,
        validate: {
            is: /a_new-or-different_regex_validation/
        }
    }
})
Run Code Online (Sandbox Code Playgroud)

仅在使用顺序迁移时删除验证元数据:

var tableName = sequelize.define('tableName', {
    columnName: {
        type: DataTypes.STRING,
        unique: true,
        allowNull: false
    }
})
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

javascript migration database-migration database-table sequelize.js

4
推荐指数
1
解决办法
784
查看次数

基于条件SQL复制行

我有一张看起来像这样的桌子

+-------+------+------+----------+ 
| Index |  F1  |  F2  | Multiply | 
+-------+------+------+----------+
|  0    |  LG  |  SC  |     1    |
|  1    |  WE  |  CC  |     1    |
|  2    |  TY  |  PL  |     2    |
+-------+------+------+----------+
Run Code Online (Sandbox Code Playgroud)

我想将'乘法'列乘以2来确定要添加到结果中的行数.通过上面的示例,我希望我的SQL查询返回:

+------+-----+-----+
|Index | F1  | F2  |
+------+-----+-----+
|  0   |  LG | SC  | 
|  0   |  LG | SC  |
|  1   |  WE | CC  |
|  1   |  WE | CC  |
|  2   | …
Run Code Online (Sandbox Code Playgroud)

sql database sql-server database-table

4
推荐指数
1
解决办法
610
查看次数

维护登录注销日志的表结构应该是什么?

我有如下登录日志表

Field       Type
login_id    int(10)     NOT NULL
platform    varchar(50) NOT NULL
browser     varchar(50) NOT NULL
ipaddress   varchar(50) NOT NULL
last_login  datetime    NULL
last_logout datetime    NULL
Run Code Online (Sandbox Code Playgroud)

但是在这个结构上,我很困惑我可以添加登录时间,但很难在注销时间更新它。我没有添加主键,因为日志很频繁,主键很快就会达到最大值。最好的方法应该是什么?请帮忙。

php mysql database-design database-table

3
推荐指数
1
解决办法
3140
查看次数

测验应用程序的数据库设计

我很少被我的测验应用程序的数据库设计所困扰.请指导我 -

我的应用UI将会是这样的 -

图片

我的DB表 -

用户 -

user_id
user_name
user_email
user_password
user_registration_date
user_active
Run Code Online (Sandbox Code Playgroud)

问题 -

question_id
question_title
question_category_id
question_level_id
question_author_id
question_status
question_create_date
Run Code Online (Sandbox Code Playgroud)

类别 -

cat_id
cat_name
cat_author
cat_create-date
cat_status
Run Code Online (Sandbox Code Playgroud)

等级 -

level_id
level_name
Run Code Online (Sandbox Code Playgroud)

答案 -

?????????
Run Code Online (Sandbox Code Playgroud)

查询 -

我被困在答案表中data type.意思是我不确定在答案表中设置哪些列与此相关.

我的答案只会在选项格式中表示1,2,3,4选项或选项中没有文字类型答案的真假.只是选择选项.

请指导我,因为我坚持这个.

请在上面提到的表中表示是否有问题,并告诉我是否为单独的表创建了Level OK或者它是坏的(Level只会是 - Beginner,Intermediate,Advance).

mysql sql database database-design database-table

3
推荐指数
1
解决办法
3297
查看次数

MySQL错误1(HY000)无法创建文件Errcode 2

我在rails应用程序上为ruby创建表时遇到问题.这让我疯狂!我尝试创建表时返回以下内容:

错误1(HY000):无法创建/写入文件'/usr/local/mysql/data/test_development/users.MYI'(错误代码:2)

值得一提的是,我是一个新手,顺便说一句.

mysql database-table

2
推荐指数
1
解决办法
2万
查看次数

如何在三个条件下加入两个表?

希望有人能弄清楚我在这里做错了什么.任务似乎很简单,但显然超出了我的范围.

我有两张桌子,我正试图追加降水数据.需要在两个表中匹配三个条件以获得每个现场位置的正确降水数据,例如年,纬度和经度.我尝试使用以下查询(其他失败的查询,我甚至不记得了):

SELECT f.*, g.* 
  FROM fieldSites f  LEFT OUTER JOIN gpcp_precipitation2 g
    ON f.date = g.year 
   AND f.d_lat = g.lat
 WHERE f.d_lon = g.lon; 
Run Code Online (Sandbox Code Playgroud)

这一次超时了

和:

SELECT *
FROM fieldSites
INNER JOIN gpcp_precipitation2 
  ON (fieldSites.d_lon = gpcp_precipitation2.lon 
  AND fieldSites.d_lat = gpcp_precipitation2.lat 
  AND fieldSites.date = gpcp_precipitation2.year);
Run Code Online (Sandbox Code Playgroud)

这个也超时了.

我想转储到.csv文件,但是现在我只想执行一个成功的查询.

这是我的表格:

left table: fieldSites

siteId  d_lat  d_lon   year  data1  data2  country      
  1     -13.75  18.75   2009  0.598  0.351  Angola       
  1     -13.75  18.75   2008  0.654  0.330  Angola       
  1     -13.75  18.75   2007  0.489  0.381  Angola …
Run Code Online (Sandbox Code Playgroud)

sql join criteria database-table

2
推荐指数
1
解决办法
7629
查看次数

在MySQL中使用多个连接和group_concat()?

我需要将Joins用于项目,但我忘记了如何使用它.这一切都只是搞砸了我的脑袋,我无法弄明白.

我有五张桌子,所有这些都需要加入:

categories - id, name
movies_categories - movie_id, category_id
movies - id, title, description, release_date, cover_image
users - id, username, password
user_movies - user_id, movie_id, favorite, review, watch_date, rating
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,该项目与电影相关,而user_movies包含用户观看过的所有电影.我需要做的是获得某个用户观看过的所有电影.所以,我需要每部电影的所有电影信息,用户名(这几乎是用户需要的所有信息),以及user_movies中的一些列(除了前两个之外的所有列).我还需要将每部电影的所有类别合并为一个"变量".我相信你可以使用GROUP_CONCAT()来做到这一点,我以前做过.

这是一个棘手的任务,我真的需要了解这一点.如果有人能帮助我,我会很感激.

mysql join group-concat database-table

2
推荐指数
1
解决办法
2248
查看次数

可能6NF表包含外键吗?

当一个表是外键时,表是否满足6NF?例如:

CREATE TABLE authors(
    author_id serial NOT NULL PRIMARY KEY
);

-- other author attributes

CREATE TABLE books(
    book_id serial NOT NULL PRIMARY KEY
);

CREATE TABLE books_author(
    book_id int NOT NULL PRIMARY KEY REFERENCES books (book_id),
    author_id int NOT NULL REFERENCES authors (author_id)
);
Run Code Online (Sandbox Code Playgroud)

如果不是,模型应如何处理外键关系?

如果M2M的关系,应该如何处理?连接表也应该是6NF吗?

database database-design normalization database-table 6nf

2
推荐指数
1
解决办法
190
查看次数

是否允许使用不同微服务中的相同表?

我们有 2 个微服务:

服务_A、服务_B。他们都使用相同的数据库。今天我发现我们有不同服务使用的相同表的存储库。我记得我读到由于某种原因这是一个设计错误,并尝试用谷歌搜索该信息。但不幸的是我的搜索没有成功。您能解释一下这个问题吗?

也可能是我的错误。那么不同的微服务使用同一个表可以吗?

java database database-table spring-boot microservices

2
推荐指数
1
解决办法
2099
查看次数