解決PostgreSQL錯誤:「列「5837-2016-08-24_09-12-22」不存在」
遇到此錯誤訊息時,請務必注意:列名應使用雙引號括起來,而字串常數則需要使用單引號。在本例中,錯誤發生是因為值「5837-2016-08-24_09-12-22」被誤認為是列名而不是字串字面量。
要解決此問題,可以如下修正SQL語句:
<code class="language-sql">INSERT INTO config_change_log(last_config_version, is_done, change_description ) VALUES('5837-2016-08-24_09-12-22', false, '{ ''key'':''value''}');</code>
透過用單引號括起字串常數,它將被正確識別為值而不是列名。
或者,您可以透過將單引號加倍來轉義資料中的單引號,如下例所示:
<code class="language-sql">INSERT INTO config_change_log(last_config_version, is_done, change_description ) VALUES('5837-2016-08-24_09-12-22', false, '{ "key":"value"}');</code>
這種方法確保了change_description列中的單引號被解釋為字串值的一部分,而不是導致語法錯誤。
記住,始終建議對字串常數使用單引號,對列名使用雙引號,以避免潛在衝突並確保正確的語法。透過實施這些更正,您應該能夠成功地將資料插入PostgreSQL資料庫中,而不會遇到「列不存在」錯誤。
以上是為什麼 Postgres 返回'列'5837-2016-08-24_09-12-22”不存在”,如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!