SQL 在行中的第一个空列中插入 MySQL 错误
Posted
技术标签:
【中文标题】SQL 在行中的第一个空列中插入 MySQL 错误【英文标题】:SQL Insert in first empty column in a row MySQL error 【发布时间】:2013-12-06 11:18:51 【问题描述】:我四处寻找解决问题的方法,但在网上找不到类似的东西。 我正在编写一个 SQL 脚本以在一行的第一个空列中插入值。
我收到这个 mysql 错误:
错误:您的 SQL 语法有错误;查看与您的 MySQL 服务器版本相对应的手册,了解在 'WHERE ID = 89' 附近使用的正确语法。
这是我的脚本。我正在通过尝试将 52 插入 ID=89 的行中的第一个空列进行测试。
$item3 = 52;
$sql="insert into TABLENAME set
GAME1 = case when GAME1 = '' then $item3 else GAME1 end,
GAME2 = case when GAME2 = '' and GAME1 <> '' then $item3 else GAME2 end,
GAME3 = case when GAME3 = '' and GAME1 <> ''and GAME2 <> '' then $item3 else GAME3 end
WHERE ID = 89 ";
谢谢。
【问题讨论】:
好吧,实际上我想说问题不在于您的查询,而在于您的数据库设计。如果您有一对多关系,则不应将表中的字段相乘以匹配“多”限制,而应将这些记录写入单独的表中。INSERT
用于添加新行,UPDATE
用于修改现有行。在INSERT
中使用WHERE
没有意义。
你可以先开始学习基础知识。
【参考方案1】:
使用update
$sql="update TABLENAME set
GAME1 = case when GAME1 = '' then $item3 else GAME1 end,
GAME2 = case when GAME2 = '' and GAME1 <> '' then $item3 else GAME2 end,
GAME3 = case when GAME3 = '' and GAME1 <> ''and GAME2 <> '' then $item3 else GAME3 end
WHERE ID = 89 ";
【讨论】:
以上是关于SQL 在行中的第一个空列中插入 MySQL 错误的主要内容,如果未能解决你的问题,请参考以下文章
将 pandas Series 或 DataFrame 列插入现有 Excel 文件的第一个空列(使用 OpenPyXL?)