php - 在 mysql 中与 2(varchar 列)建立关系时出错

标签 php mysql

第一个users

 id         name
---------------------
  1         John

第二个订单

 id         order        name
----------------------------------
  1         pencil         John

用于与表 users 中的第一列 name 建立关系的 sql 代码 表 orders

中的第二列 name
ALTER TABLE orders
ADD CONSTRAINT user_name
FOREIGN KEY(name) REFERENCES users(name)
ON UPDATE CASCADE
ON DELETE CASCADE;

它给我错误

errno: 150 "Foreign key constraint is incorrectly formed"

如何解决这个问题??

最佳答案

所以经过搜索我发现解决方案很简单:D 使用相同的sql代码

ALTER TABLE orders
ADD CONSTRAINT user_name
FOREIGN KEY(name) REFERENCES users(name)
ON UPDATE CASCADE
ON DELETE CASCADE;

并在父列中使名称唯一

关于php - 在 mysql 中与 2(varchar 列)建立关系时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45242027/

相关文章:

mysql - MySql 字段列表中的未知列

mysql - MySQL语法中如何通过MTM连接访问多个表?

php - 在 dev 上处理 DB 的不同用户/通行证的简单方法。机器与生产服务器

php - 如何制作 js 小部件/弹出窗口/内容储物柜?

php - Laravel 5.1 表单 - 'files' => true

php - 返回包含 php 字符串文本的 sql 记录

php - mysql多记录数据查找问题

php - 使用 PHP、MySQL 和 jQuery 的长轮询技术的网络聊天应用程序

mysql - MSSQL 使用分隔符分割字符串

php - MySQL,从 $_SESSION ['username' 开始计数]