我有一个奇怪的问题.我正在尝试将一个外键添加到一个引用另一个表的表中,但由于某种原因它失败了.由于我对MySQL的了解有限,唯一可能怀疑的是在不同的表上有一个外键引用我想要引用的那个.
这是我的表关系的图片,通过phpMyAdmin:Relationships生成
我SHOW CREATE TABLE对两个表都进行了查询,sourcecodes_tags是带有外键的表,sourcecodes是引用的表.
CREATE TABLE `sourcecodes` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`user_id` int(11) unsigned NOT NULL,
`language_id` int(11) unsigned NOT NULL,
`category_id` int(11) unsigned NOT NULL,
`title` varchar(40) CHARACTER SET utf8 NOT NULL,
`description` text CHARACTER SET utf8 NOT NULL,
`views` int(11) unsigned NOT NULL,
`downloads` int(11) unsigned NOT NULL,
`time_posted` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `user_id` (`user_id`),
KEY `language_id` (`language_id`), …Run Code Online (Sandbox Code Playgroud) 只是一个简单的问题:我已经看到一些PHP函数在顶部被注释,使用了我不知道的格式:
/**
*
* Convert an object to an array
*
* @param object $object The object to convert
* @return array
*
*/
Run Code Online (Sandbox Code Playgroud)
我的IDE为@param和@return之类的内容提供了一个下拉选项,因此必须在某处记录.我试过搜索谷歌,但它的搜索中不会包含@符号.
这种评论格式是什么?我在哪里可以找到相关信息?
我对CodeIgniter和Active Record非常陌生,我知道如何在普通的SQL中做得很好,但我正在努力学习.
如何从我的某个表中选择一些数据,然后使用CodeIgniters Active Record类计算返回的行数?
谢谢,汤姆.
这似乎符合我定义的规则,但我今晚才开始学习正则表达式,所以我想知道它是否正确.
规则:
正则表达式模式:
/^[a-zA-Z0-9]+([a-zA-Z0-9](_|-| )[a-zA-Z0-9])*[a-zA-Z0-9]+$/
Run Code Online (Sandbox Code Playgroud) 我想为我的正则表达式提供一个'default'值,所以如果找不到我想要的东西,它将返回默认值,就像它找到它一样.
这可以用正则表达式吗?
由于只有一些以前的数据库经验,并且没有正式的教育,我对如何建模(以及在PHP中检索我需要的数据)感到有些困惑.这就是我想要建模的:
对于我网站上的每个项目,允许有多个标签,如文件,上传,php,递归等.但是标签是可重复使用的,我可以有两个不同的项目,每个都可以有php标签.
我一直在努力阅读如何做到这一点,以及缺乏经验或其他我不知道的事情,但我似乎无法理解这个概念.显然你需要一个将两者连接在一起的中间表?
此外,一旦我建立了这种关系并定义了表格,我将如何执行以下操作: - 检索具有特定标记的所有项目? - 检索一个项目的所有标签?
感谢您的帮助,如果有人可以列出任何进一步的阅读,以加强我对这个概念的理解,这将是伟大的.
我现在正在使用一些有点笨拙的数据库,在所有错误的地方定义了外键,我想将它们全部删除,然后从头开始.我不希望删除列,只是外键关系.
如何从整个数据库中删除所有外键?(或按表格表).
谢谢.
编辑:忘了说,我有PHPMyAdmin可供使用.
foreign-keys ×2
mysql ×2
php ×2
regex ×2
activerecord ×1
codeigniter ×1
comments ×1
database ×1
default ×1
format ×1
function ×1
many-to-many ×1
phpdoc ×1
sql ×1