【问题标题】:MYSQL SQL SYNTAX ERRORMYSQL SQL 语法错误
【发布时间】:2018-01-11 19:40:43
【问题描述】:

首先作者说: 如果您收到 SQL 错误,那应该是因为它适用于接受 ADD IF NOT EXISTS 的数据库,如果您不这样做,您需要自己初始化表并注释掉初始化查询。

我正在尝试将它放在 SQL 区域上的 Phpmyadmin 上:

ALTER TABLE vrp_user_vehicles ADD IF NOT EXISTS vehicle_colorsecondary varchar(255) DEFAULT NULL;

ALTER TABLE vrp_user_vehicles 如果不存在则添加 vehicle_colorsecondary varchar(255) DEFAULT NULL;

MySQL ha dicho:Documentación #1064 - Algo está equivocado en su sintax cerca 'IF NOT EXISTS vehicle_colorsecondary varchar(255) DEFAULT NULL;'恩拉 线 1

这就是我所需要的:https://pastebin.com/ZwDc8pGG

【问题讨论】:

  • 你能用英文编辑和发布这个吗?
  • 请修正你的标签。 PHP 不是 phpmyadmin。 mysql 不是 sql-server。

标签: mysql phpmyadmin


【解决方案1】:

检查列是否存在以添加它的语法是:

IF NOT EXISTS(SELECT * FROM 
INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'vrp_user_vehicles' AND 
COLUMN_NAME = 'veh_type')
BEGIN

ALTER TABLE [dbo].[vrp_user_vehicles] ADD 
    [veh_type] varchar(255) NOT NULL DEFAULT 0

 EXEC sp_executesql
    N'UPDATE [dbo].[vrp_user_vehicles] SET [veh_type] = 1            WHERE [Ref] IS NOT NULL'

END

【讨论】:

【解决方案2】:

ALTER TABLE vrp_user_vehicles 如果不存在则添加 veh_type VARCHAR(255) NOT NULL DEFAULT 'default'

请试试这个。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-09-19
  • 2012-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多