MySql命令行未转义撇号

时间:2012-10-15 20:33:05

标签: mysql sql escaping command-prompt

我创建了许多表,并使用insert命令添加数据。

我写的最新命令:

mysql> insert into review values (1,2,3,5,'Shakespear is totally the world's pre-eminant dramtist! Hes my fav <3',2012-10-15);

不可思议的是,我忘了逃避“世界”中的撇号,现在我的命令行被卡住了,我担心丢失已经输入的所有数据。

Windows command line just looks like this:
    '>exit;
    '>help;
    '>nothing i type here does anything!!!

请帮我回到

mysql> so i can add things in this area

或者只是这样我可以进入DOS并执行:

C:/xampp/mysql/bin> mysqldump -u root -- mydatabase > mydb.sql

请帮我保存我的工作!! :)

2 个答案:

答案 0 :(得分:3)

当它说:

'>

这意味着在完成声明之前需要关闭一个额外的'。尝试输入:

'> ';

这将使当前声明*失败,因此您可以再次正确尝试。

*在大多数情况下失败,因为结果语句可能不是有效的SQL。如果是,那么你最终会得到一些不稳定的数据......但是你可以用一些DELETE或UPDATE语句修复它。在您的情况下,s pre-eminant dramatist! ...在引号之外无效,因此它将失败。

答案 1 :(得分:0)

您也可以输入Ctl-C,然后返回shell提示符。你将失去你进入中间的命令,但无论如何你都会失去它。您不会丢失您输入的任何其他数据,这些数据都在数据库中(除非您启动了事务 - 我认为Control-C将执行ROLLBACK而不是COMMIT)。