在外键中插入数据时出错?

时间:2016-05-07 13:24:42

标签: mysql sql foreign-keys

我正在尝试将数据插入到SQL表中,userID是一个smallint,它是一个外键。金额只是小数。

出于某种原因,我遇到了错误,我是否正确地采取行动?谢谢

SET FOREIGN_KEY_CHECKS=0
INSERT INTO donations (userID, amount) VALUES ('10', '11')
SET FOREIGN_KEY_CHECKS=1
  

错误:#1064 - 您的SQL语法出错;检查手册   对应于您的MySQL服务器版本,以获得正确的语法   使用'INSERT INTO捐款(用户ID,金额)值('10','11')附近   在第2行设置FOREIGN_KEY_CHEC'

我的PHP将其插入

        //set feedback
        $sql = "SET FOREIGN_KEY_CHECKS = 0;

            INSERT INTO donations (userID, amount)
            VALUES ('30', '0');

            SET FOREIGN_KEY_CHECKS = 1;";

我也试过这个

        //set feedback
        $sql = "SELECT donations SET FOREIGN_KEY_CHECKS = 0;

            INSERT INTO donations (userID, amount)
            VALUES ('30', '0');

            SET FOREIGN_KEY_CHECKS = 1;";

1 个答案:

答案 0 :(得分:0)

语法看起来没问题。在每行的末尾加上一个分号来划分语句:

SET FOREIGN_KEY_CHECKS = 0;

INSERT INTO donations (userID, amount)
    VALUES ('10', '11');

SET FOREIGN_KEY_CHECKS = 1;