gpt4 book ai didi

php - 为什么我不能——或者我如何——使用 WordPress API 将 NULL 值插入我的 MySQL 数据库

转载 作者:行者123 更新时间:2023-11-29 03:29:30 24 4
gpt4 key购买 nike

我已经为此工作了几个小时,但无法弄清楚如何插入/更新列的 NULL 值。比如我有一段代码

    case 'add':
{
$message = $wpdb->insert('projs', array('compname' => $compname, 'projname' => $projname, 'imageurl' => $imageurl, 'sumsmall' => $sumsmall, 'sumfull' => $sumfull, 'results' => $results, 'caseid' => $caseid, 'hide' => $hide))
? 'Successfully added project to the database.'
: 'Error occurred when trying to add project to database: ' . $wpdb->last_error;
break;
}

并且每当它以 $caseid 等于 null 执行时(在 PHP 领域),查询失败并显示 wpdb->last_error

Cannot add or update a child row: a foreign key constraint fails ('my_table_name', 'projs', CONSTRAINT 'projs_ibfk_1' FOREIGN KEY ('caseid') REFERENCES 'cases' ('id') ON DELETE SET NULL

作为引用,表 projs 和 cases 是在安装过程中创建的

// Add table to hold the project portfolio
if ($wpdb->get_var("SHOW TABLES LIKE 'projs'") != 'projs')
{
$wpdb->query("CREATE TABLE projs (id MEDIUMINT NOT NULL AUTO_INCREMENT PRIMARY KEY, compname VARCHAR (200), projname VARCHAR (200), imageurl VARCHAR(300), sumsmall VARCHAR (250), sumfull VARCHAR (5000), results VARCHAR (5000), postdate DATETIME DEFAULT CURRENT_TIMESTAMP, caseid MEDIUM INT, FOREIGN KEY (caseid) REFERENCES cases(id) ON DELETE SET NULL) $charset_collate");
}
// Add table to hold the case studies
if ($wpdb->get_var("SHOW TABLES LIKE 'cases'") != 'cases')
{
$wpdb->query("CREATE TABLE cases (id MEDIUMINT NOT NULL AUTO_INCREMENT PRIMARY KEY, compname VARCHAR (200), casename VARCHAR (200), imageurl VARCHAR(300), summary VARCHAR (5000), results VARCHAR (5000), postdate DATETIME DEFAULT CURRENT_TIMESTAMP) $charset_collate");
}

而且我没有看到在 projs 中为 caseid 插入一个 NULL 值是如何违反任何规定的。

最佳答案

这并不是说它一般不允许您插入 NULL 值。它特别不允许您将 NULL 值插入到 caseid 中。

由于外键约束将 caseid 链接到 cases 中的 id 列,它期望值等于其中之一 ids.

NULL 值插入任何其他列(当然,id 除外。)应该没有问题。

关于php - 为什么我不能——或者我如何——使用 WordPress API 将 NULL 值插入我的 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32214268/

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