为什么数据库人员继续关于规范化?
它是什么?它有什么用?
它适用于数据库之外的任何内容吗?
我使用redbean ORM使用mysql和codeigniter.在为多对多的assosciation实现外键后,我运行时出现以下错误:
drop TABLE IF EXISTS `temp`
Integrity constraint violation: 1217 Cannot delete or update a parent row: a foreign key constraint fails thrown
Run Code Online (Sandbox Code Playgroud)
然后我进入了phpmyadmin进入SHOW ENGINE INNODB状态.输出包括:
LATEST FOREIGN KEY ERROR------------------------: Cannot drop table `db1`.`temp`because it is referenced by `db1`.`temp_workers`.
Run Code Online (Sandbox Code Playgroud)
换句话说,另一个表引用了FK.出于测试目的,我认为最好的办法是删除所有关联的表,并使用我正在测试的控制器重新创建它们.这是最好的方式吗?我试过了:
drop TABLE IF EXISTS `temp` `temp_workers`
Run Code Online (Sandbox Code Playgroud)
,但我仍然得到上述错误,并且drop命令不起作用.也:
truncate TABLE `temp`, `temp_workers`
Run Code Online (Sandbox Code Playgroud)
得到:
You have an error in your SQL syntax
Run Code Online (Sandbox Code Playgroud) 我开始学习如何编写sql语言,但我遇到了下面的问题:现在我在一个名为'data'的表中有一个数据
+------+-------+-------+-------+-------+
| id | name | type1 | type2 | type3 |
+------+-------+-------+-------+-------+
| 1 | Cake | a | b | f |
| 2 | Coca | a | d | c |
| 3 | Ice | c | b | a |
| 4 | Wine | c | e | d |
| 5 | Salad | c | f | a |
| 6 | Water | d | e | f | …Run Code Online (Sandbox Code Playgroud) 我正在设计一个新的数据库,我有两个表,一个用户和一个技能表.用户可以拥有许多技能.什么是存储多种技能的最佳实践,逗号分隔的技能ID(1,2)或存储技能名称(PHP,Ruby)?这是数据库的简化版本.
用户表:
id int(),
name varcha(),
email varchar(),
skillID varchar()
ID | name | email | skillID |
1 | John Doe | johndoe@domain.com |1,2 |
2 | Jane Doe | janedoe@domain.com |2,3 |
3 | James Smith| jamessmith@domain.com|3,4 |
Run Code Online (Sandbox Code Playgroud)
技能表:
Id int(),s
skill varchar()
ID | skill |
1 | PHP |
2 | Ruby |
3 | ColdFusion |
4 | ASPX |
Run Code Online (Sandbox Code Playgroud)
如何检索技能ID为1和4的所有用户.提前感谢您的见解.
出于某种原因,我在如何显示从此数组中寻找的信息方面画了一个完整的空白.这是此查询的结果......
$res = mysql_query("SELECT `key`, `value` FROM `data` where `id` = '4534'", $db_connection);
while ($row = mysql_fetch_assoc($res))
{
print_r($row);
}
Run Code Online (Sandbox Code Playgroud)
结果就像这样
Array ( [key] => am3:id [value] => 5198 )
Array ( [key] => dob [value] => 1984-11-15 )
Array ( [key] => examdate [value] => 1 )
Array ( [key] => howdidyoufind [value] => Facebook )
Run Code Online (Sandbox Code Playgroud)
如果我需要将"howdidyoufind"的值放入变量中,我该怎么做?所以变量的值将是"Facebook".
任何帮助将不胜感激,谢谢