嘿,我正在使用下面的代码创建一个名为user的表,其中包含一些外键
ALTER TABLE `user`
ADD COLUMN IF NOT EXISTS `shipping_address` int(11) NULL,
ADD COLUMN IF NOT EXISTS `billing_address` int(11) NULL,
ADD CONSTRAINT IF NOT EXISTS `user_ibfk_2` FOREIGN KEY (`shipping_address`) REFERENCES `user_address` (`id`),
ADD CONSTRAINT IF NOT EXISTS `user_ibfk_3` FOREIGN KEY (`billing_address`) REFERENCES `user_address` (`id`);
我认为这段代码是正确的,但它仍然会产生以下错误
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'FOREIGN KEY (`shipping_address`) REFERENCES `user_address` (`id`),
ADD CON...' at line
这个代码真的正确吗?如果没有,我如何修复它?此代码的正确变体是什么?感谢您的帮助。
编辑:我正在phpmyadmin上测试此代码
问候。
作为mariadb(不是mysql!)alter table上的文档显示,如果不存在
子句位于外键
之后:
ADD [CONSTRAINT [symbol]]
FOREIGN KEY [IF NOT EXISTS] [index_name] (index_col_name,...)
reference_definition
因此,您的alter表应该类似于
ALTER TABLE `user`
ADD COLUMN IF NOT EXISTS `shipping_address` int(11) NULL,
ADD COLUMN IF NOT EXISTS `billing_address` int(11) NULL,
ADD CONSTRAINT `user_ibfk_2` FOREIGN KEY IF NOT EXISTS (`shipping_address`) REFERENCES `user_address` (`id`),
ADD CONSTRAINT `user_ibfk_3` FOREIGN KEY IF NOT EXISTS (`billing_address`) REFERENCES `user_address` (`id`);
我一直得到的错误:- “您的SQL语法有错误;请查看与您的MariaDB服务器版本相对应的手册,以了解在第1行的“Password='evertonblues'Forename='Josh'lasname='Edmondson'='199'附近使用的正确语法。” 运行我的更新查询时出错。
我尝试使用preared语句向表中插入一个新值,但我获得了一个无法解决的语法错误。 Java代码: 错误代码: 我希望你能帮助我谢谢你。
我试图将以下数据插入数据库。但它给了我上面这个错误。您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,以了解第1行中“”附近使用的正确语法。 我试过几种方法,但都没有修好。
给了我一个错误: “错误1064(42000):您的SQL语法中有错误;请查看与MariaDB服务器版本相对应的手册,以便在第1行”创建表(varchar(64)、var(64)、var'“附近使用正确的语法”
我有以下查询和错误: 错误消息:
我有一个名为procedure.sql的Sql文件,其中包含一个过程。Maria DB版本:服务器版本:10.0.29-MariaDB-0ubuntu0.16.04.1Ubuntu 16.04 但我得到的错误如下: 有人能帮我吗? procedure.sql代码: 我得到的参考资料来自:https://mariadb.com/kb/en/mariadb/create-procedure/