String 我可以在mysql 5.1中使用字符串设置外键吗?

String 我可以在mysql 5.1中使用字符串设置外键吗?,string,foreign-keys,alter-table,mysql-5.1,String,Foreign Keys,Alter Table,Mysql 5.1,我有以下两张桌子 书桌 BOOK_ID VARCHAR(25) NOT NULL PRIMARY KEY AUTHOR_ID VARCHAR(25) 作者表 AUTHOR_ID VARCHAR(25) NOT NULL PRIMARY KEY 我想将book表中的外键AUTHOR_ID设置为连接AUTHOR表,但收到以下错误: MySQL Error Number 1005 对于这两个表,我都使用主键和外键来表示INTEGER数据类型,这样就不会发生错误。

我有以下两张桌子

书桌

    BOOK_ID VARCHAR(25) NOT NULL PRIMARY KEY
    AUTHOR_ID VARCHAR(25)
作者表

    AUTHOR_ID VARCHAR(25) NOT NULL PRIMARY KEY
我想将book表中的外键AUTHOR_ID设置为连接AUTHOR表,但收到以下错误:

     MySQL Error Number 1005
对于这两个表,我都使用主键和外键来表示
INTEGER
数据类型,这样就不会发生错误。我可以在mysql 5.1(InnoDB)中使用
string
数据类型来表示外键吗?首先,我创建没有外键的数据库。我还用这个语句修改了我的数据库,它来自mysql查询浏览器

ALTER TABLE `millionaire_db`.`book` ADD CONSTRAINT `FK_book_1` FOREIGN  KEY`FK_book_1` (`AUTHOR_ID`) REFERENCES `author` (`AUTHOR_ID`) ON DELETE RESTRICT ON UPDATE RESTRICT;

请给我们看一下你的真实陈述。@一匹没有名字的马请查看我的帖子