我需要检查一个表是否存在,然后在sql中从它删除一行。我已经尝试了几种互联网的东西,这似乎最多,但它不起作用。检查它是否存在后从表中删除
IF OBJECT_ID('mytable', 'N') IS NOT NULL
BEGIN
DELETE FROM table WHERE user_id= :user_id
END
我得到的错误:
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF OBJECT_ID('we_image_gallery', 'U') IS NOT NULL DELETE FROM mytable' at line 1
我需要只使用当前数据库的解决方案,我可以当脚本移植到多个系统上计数。
编辑:此查询由PHP PDO运行。众生没有任何答案似乎工作是否有可能在我的pdo或sql服务器中导致此问题的设置?
这种问题是不良设计的症状 – Strawberry
这实际上引发了另一个问题。创建一个额外的表来存储已创建的表(通过在不同的景点上安装不同的附加组合),并使用它来检查表,或者使用我的当前系统使用sql检查表声明。 – Zaper127
您目前的系统非常糟糕,但您提出的替代方案同样糟糕。你应该知道你的数据库中有什么表。它不应该是猜测的问题。 – Strawberry