gpt4 book ai didi

php - SQLSTATE[23000] : Integrity constraint violation

转载 作者:行者123 更新时间:2023-11-30 00:07:05 27 4
gpt4 key购买 nike

我正在尝试从一个表 (user_info) 获取列 id 数据并将其插入到另一个表 (user_profile) 中。我真的不确定该错误意味着什么,但您可以在下面完整地看到它以及每个表的架构信息。

SO 上有很多与此问题相关的帖子,但是我找不到任何与我的特定问题密切相关的内容,并且无法按照众多线程中的建议应用修复程序。

错误

SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails

用户信息

CREATE TABLE `user_info` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(12) COLLATE utf8_unicode_ci NOT NULL,
`pass` varchar(40) COLLATE utf8_unicode_ci DEFAULT NULL,
`joined` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB AUTO_INCREMENT=62 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

用户个人资料

CREATE TABLE `user_profile` (
`user_id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
`f_key` int(11) NOT NULL,
PRIMARY KEY (`user_id`),
KEY `f_key` (`f_key`),
CONSTRAINT `user_profile_ibfk_1` FOREIGN KEY (`f_key`) REFERENCES `user_info` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

查询,请参阅第三个尝试 block (包括所有相关的内容,以防有帮助

try {
$result = $db->prepare("SELECT id FROM user_info WHERE username = :user");
$result->bindParam(':user', $username);
$result->execute();
$user_info = $result->fetch();
$id = $user_info[0];
}

catch (Exception $e) {
echo $e->getMessage();
}

try {
$result = $db->prepare("SELECT EXISTS( SELECT username FROM user_info WHERE username = :user)");
$result->bindParam(':user', $get_username);
$result->execute();
$user_exists = $result->fetch();
$exists = $user_exists[0];
}

catch (Exception $e) {
echo $e->getMessage();
}

if (isset($_POST['submitProfile'])) {
try {
$result = $db->prepare("INSERT INTO user_profile (user_id) VALUES (:id)");
$result->bindParam(':id', $id);
$result->execute();
}

catch (Exception $e) {
echo $e->getMessage();
}
}

最佳答案

user_profile 有一个外键“f_key”,其中应包含 user_info 表中的“id”。您的插入语句中为空。

关于php - SQLSTATE[23000] : Integrity constraint violation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24443143/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com