gpt4 book ai didi

sql - dbDelta/SQL 错误,非常意外

转载 作者:行者123 更新时间:2023-12-02 07:46:43 24 4
gpt4 key购买 nike

这是我遇到的一个错误。当我在 Wordpress 中使用 dbDelta 函数时会发生这种情况。我实在想不通,也许其他人也有过类似的经历?我的代码:

$sql1 = "CREATE TABLE `".$table_name1."` (
`id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`blogid` INT( 11 ) NOT NULL ,
`symbol` VARCHAR( 255 ) NOT NULL
) ENGINE = MYISAM";

我在 theme_switch 操作期间触发了这段代码。当我打开主题时它似乎不会发生,只有当我切换到其他东西时才会发生(我知道,这很奇怪)。我已阅读并尝试遵循 Wordpress.org 中提到的注意事项,例如在主键和定义之间放置两个空格。我还有另外两个类似的 SQL 代码片段会生成相同的错误;这三个最初都是由 phpMyAdmin 生成的,所以我知道它们有效。

Notice: Undefined offset: 1 in /Applications/MAMP/htdocs/wp-experiment/wp-admin/includes/upgrade.php on line 1463

Notice: Undefined offset: 1 in /Applications/MAMP/htdocs/wp-experiment/wp-admin/includes/upgrade.php on line 1463

Notice: Undefined offset: 1 in /Applications/MAMP/htdocs/wp-experiment/wp-admin/includes/upgrade.php on line 1463

WordPress database error: [Multiple primary key defined]
ALTER TABLE wp_stocks_0 CHANGE COLUMN id `id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY

Warning: Cannot modify header information - headers already sent by (output started at /Applications/MAMP/htdocs/wp-experiment/wp-admin/includes/upgrade.php:1463) in /Applications/MAMP/htdocs/wp-experiment/wp-includes/pluggable.php on line 897

万一我误解了 dbDelta,我或许应该补充一点,上面的代码被执行了几次……所以该表已经存在。但如果我理解 dbDelta,那就意味着它应该什么也不做,因为数据库结构中没有任何东西需要更改。

最佳答案

有点晚了 - 但在搜索相同错误消息的解决方案时发现了这个问题 - 我正在为发现这个问题的其他人添加一个答案:

来自法典文档 http://codex.wordpress.org/Creating_Tables_with_Plugins

  • You must not use any apostrophes or backticks around field names.

这对我来说已经解决了

关于sql - dbDelta/SQL 错误,非常意外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6513177/

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