草庐IT

mysql - 创建新表时如何添加外键?

我有这两个CREATETABLE语句:CREATETABLEGUEST(idint(15)notnullauto_incrementPRIMARYKEY,GuestNamechar(25)notnull);CREATETABLEPAYMENT(idint(15)notnullauto_incrementForeignKey(id)referencesGUEST(id),BillNrint(15)notnull);第二个语句有什么问题?它没有创建新表。 最佳答案 您问题的答案与thisone的答案几乎相同.您需要在包含外键的表中指定包

mysql - 外键和 MySQL 错误

我有以下脚本在MySQL5.1版中创建一个表来引用其他3个表。所有3个表都是使用InnoDB创建的,所有3个表的ID列都定义为INT。我已经成功创建了引用ACCOUNT和PERSON的其他表,但是,这是第一个引用ADDRESS的表,因此我在下面也包含了该表的定义,如运行。我得到的错误是带有errno150的ERROR1005(HY000),据我所知,这与外键创建有关。失败的脚本是(为简单起见删除了额外的列):CREATETABLEWORK_ORDER(IDINTNOTNULLAUTO_INCREMENTPRIMARYKEY,ACCOUNT_IDINTNOTNULL,CUSTOMER_I

mysql - 错误代码 : 1822. 添加外键约束失败。缺少约束索引

我发现了一些关于该错误的线索。但是所有的解决方案都不适合我。我创建了2个表,一个用户表,一个用于文章。现在我想存储创建文章的用户和最后一个修饰符的用户。CREATETABLEIFNOTEXISTS`testDb`.`users`(`id`INTNOTNULLAUTO_INCREMENT,`nickname`VARCHAR(255)NULL,`first_name`VARCHAR(255)NULL,`last_name`VARCHAR(255)NULL,`e_mail`VARCHAR(255)NOTNULL,`activated`TINYINT(1)NOTNULLDEFAULT0,`bi

mysql - 选择另一个表中没有外键的主键

为了简化,我有两个使用外键一对多关联的表,例如:Userstable:idnameActionstable:iduser_id一个用户可能有很多Action,也可能没有。我需要一个sqlselect,它返回在操作表中没有user_id值的用户ID。UsersTable:idname1John2Smith3AliceActionsTable:iduser_id1321所以我需要一个返回用户id2(Smith)的sql查询,因为外键值不包括id2我尝试了以下SQL,但它返回了所有用户ID:SELECTusers.idfromusersleftjoinactionsonactions.use

mysql - 如何使用命令行更改 MySQL 表的外键

如何使用命令行更改MySQL中的现有表,将外键设置为另一个表? 最佳答案 您必须删除现有的外键并创建另一个。比如这样:ALTERTABLEmy_tableDROPFOREIGNKEYmy_key;ALTERTABLEmy_tableADDCONSTRAINTmy_keyFOREIGNKEY('some_id')REFERENCESsome_new_table('some_other_id')ONUPDATECASCADEONDELETECASCADE; 关于mysql-如何使用命令行更改

php - 删除外键的问题

这个问题在这里已经有了答案:DroppingcolumnwithforeignkeyLaravelerror:Generalerror:1025Erroronrename(7个答案)关闭2个月前。我的外键与其自己的表相关。这是为了生成具有层次结构的帖子。现在,当我尝试将列删除到数据库中时,出现以下错误:1553-Cannotdropindex'post_field_properties_parent_id_index':neededinaforeignkeyconstraint这是代码:publicfunctiondown(){Schema::table("post_field_pro

mysql - 外键必须是 mySQL 中的索引?

我刚刚自己创建了我的第一个mySQL表(除了使用Joomla、Wordpress等),并且多年来我一直是MSSQL开发人员,但通常我可以轻松地在MSSQL中创建外键,但我遇到了这里有困难或缺乏知识。这是我的table:用户user_idint主自动增量用户名varchar(20)密码varchar(20)帖子主auto_increment中的post_idtitlevarchar(100)消息文本user_idint当我尝试向引用posts->user_id的用户添加外键时,我在选项列表Relation_view窗口中看不到posts->user_id选项在mySQL面板上。我想知道是

MySQL 外键,无法创建表(errno : 150)

我正在尝试为我的系统构建数据库和表。但是我发现如果我不在代码中添加外键。没有错误。我用了很多方法尝试使代码工作,但它仍然有错误。我使用的是MySQL5.5.31,代码如下:创建数据库服务条款;DROPTABLETOS.USERCASCADE;DROPTABLETOS.BILL_HEADERCASCADE;DROPTABLETOS.TOYCASCADE;CREATETABLETOS.USER(UserChar(8),NameChar(10),TypeChar(1),PasswordChar(12),PRIMARYKEY(User));CREATETABLETOS.BILL_HEADER(

php - 如何从 phpmyadmin 在 Mysql 中添加外键?

我对php和mysql完全陌生。我在mysql中已经有一张表。现在我想添加外键。如何使用pphmyadmin修改表和添加外键? 最佳答案 放置fk的形式在:表格->结构->关系概览您需要为外键设置索引键抱歉,这是德语的,但其他语言的链接位置相同 关于php-如何从phpmyadmin在Mysql中添加外键?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/20703108/

MySQL (InnoDB) : need to delete column, 和附带的外键约束和索引

这是我的表格:CREATETABLE`alums_alumphoto`(`id`int(11)NOTNULLauto_increment,`alum_id`int(11)NOTNULL,`photo_id`int(11)defaultNULL,`media_id`int(11)defaultNULL,`updated`datetimeNOTNULL,PRIMARYKEY(`id`),KEY`alums_alumphoto_alum_id`(`alum_id`),KEY`alums_alumphoto_photo_id`(`photo_id`),KEY`alums_alumphoto_m